Estoy intentando encontrar una forma de obligar a Java a cargar/inicializar un tipo enumerado (que está anidado dentro de una clase que contiene un Mapa estático).Forzar inicialización de un tipo enumerado en Java
Esto es importante para mí porque el tipo enumerado tiene un constructor que rellena dicho mapa, y sin una forma explícita de inicializar esta enumeración, el mapa permanecerá vacío. Intenté usar Class.forName
, pero parece que no funciona.
Supongo que podría crear una instancia de la enumeración (y almacenarla en otra colección o algo así), pero me gustaría saber si hay una manera elegante de hacerlo.
Si no tiene la garantía de la enumeración se construirá antes de tener que utilizar el mapa, es posible que desee volver a examinar su diseño aquí, aunque la recomendación de utilizar un inicializador estático de Matt posiblemente acceda tu lo que quieres – Bryan
'Class.forName' inicializa una clase. Si "no funciona", tu código tiene otros problemas de los que no te das cuenta. Por qué no publicar tu código – irreputable
Básicamente veo una excepción que dice que la clase es "inválida", y sé con certeza que tengo la ruta correcta del paquete. es Class.forName() * supposed * para trabajar en enumeraciones en todos los casos? –