Forcer l'Initialisation d'un type énuméré en Java

J'essaie de trouver un moyen de forcer Java pour charger/initialisation d'un type énuméré (qui est imbriquée à l'intérieur d'une classe qui contient une Carte statique).

C'est important pour moi parce que le type énuméré est un constructeur qui remplit ladite carte, et sans manière explicite à initialiser cette enum, la carte restera vide. J'ai tenté d'utiliser Class.forName, mais cela ne semble pas fonctionner.

Je suppose que je pourrais créer une instance de la enum (et de le stocker dans un certain autre collection ou quelque chose), mais je voudrais savoir si il est une manière élégante de le faire.

Si vous n'êtes pas garanti l'enum sera construit avant vous avez besoin d'utiliser la carte, vous pourriez vouloir reconsidérer votre conception ici, bien que Matt recommandation de l'utilisation d'un initialiseur statique sera probablement que vous obtenez ce que vous voulez.
Ce thread stackoverflow.com/questions/3798083/3800434#3800434 touche sur le sujet.
Class.forName ne initialiser une classe. Si elle "se complique pas de travail", vous code a d'autres problèmes, vous ne réalisez pas. Pourquoi ne pas poster votre code.
Fondamentalement, je vois une exception indiquant que la classe est "invalide", et je sais pour sûr que j'ai le bon chemin d'accès au package. est Classe.forName() censés sur les énumérations dans tous les cas?

OriginalL'auteur Ryan Delucchi | 2010-09-29