Muchos de los conceptos en torno a las propiedades son definitivamente antiguos y cuestionables. Tiene una internacionalización muy pobre, agrega métodos que hoy en día solo se lograrán a través de un tipo genérico, amplía Hashtable, que en general no está en uso, ya que su sincronización tiene un valor limitado y tiene métodos que no están en armonía con el Las clases de colecciones introducidas en 1.2 y muchos de los métodos añadidos a la clase Propiedades proporcionan esencialmente el tipo de seguridad de tipo que es reemplazado por Genéricos.
Si se implementa hoy, probablemente sea una implementación especial de Map<String, String>
, y sin duda es compatible con una mejor codificación en el archivo de propiedades.
Dicho esto, en realidad no hay un reemplazo que no agregue complejidad. Seguro que java.util.prefs.Preferences api es el "nuevo y mejorado", pero agrega una capa de complejidad que va mucho más allá de lo que se necesita para muchos casos de uso. El solo uso de XML también es una opción (que al menos soluciona los problemas de internacionalización) pero un objeto de propiedades a menudo se ajusta perfectamente a las necesidades, y en ese momento se usa.
¿Y qué hay de java.util.Dictionary? Se ha actualizado para usar Generics, pero también se ha documentado como "obsoleto". Sin embargo, todavía no está marcado como @deprecated. Supongo que la desaprobación es un problema difícil. – omerkudat
@omerkudat, el diccionario es básicamente un mapa antes de colecciones en 1.2.Aunque no está formalmente obsoleto, está en el mismo grupo que Vector. Eso generalmente no es preferido. http://stackoverflow.com/questions/1386275/why-java-vector-class-is-considered-obsolete-or-deprecated/ – Yishai