Cela semble être une compétence linguistique peu connue. Je vois que la plupart des gens initialisent les constantes statiques en Java en
Copiez le code comme suit :
public static final Map<String, String> DATA = new TreeMap<String, String>();
statique
{
DONNEES.put("a", "A");
//bla bla bla
}
Utilisez le bloc statique de la classe pour initialiser DATA. En fait, il existe une autre façon de l'écrire :
Copiez le code comme suit :
public static final Map<String, String> DATA = new TreeMap<String, String>()
{{
this.put("a", "A");
//bla bla bla
}} ;
Cela profite en fait des caractéristiques des classes anonymes. Le { interne est utilisé comme constructeur de la sous-classe anonyme, donc le code d'initialisation peut être directement inséré. Cette petite astuce de langage n'est pas courante, mais elle est plus pratique.