Avatar ·

Cómo inicializar un Map estático en Java (con ejemplos)

¡Hola a todos! Soy nuevo en Java y tengo un problema con la inicialización de un Map estático. Necesito crear un mapa constante (por ejemplo, una correspondencia de códigos de país a sus nombres) que sea accesible desde cualquier parte del programa sin crear una instancia de la clase. Intenté hacerlo así: ```java public class CountryCodes { public static final Map codes = new HashMap<>(); codes.put("RU", "Rusia"); codes.put("US", "EE.UU."); codes.put("DE", "Alemania"); } ``` Pero el compilador da un error: "Illegal static declaration" o "Cannot resolve symbol 'codes'". Entiendo que el código fuera de los métodos no se ejecuta, pero ¿cómo llenar el Map correctamente? En Python simplemente escribiría un diccionario en el cuerpo de la clase, pero en Java es más complicado. He leído sobre bloques de inicialización estática, pero no estoy seguro de que sea el enfoque correcto. También vi que algunos usan la inicialización de doble llave (double brace initialization), pero dicen que es una mala práctica. ¿Existe una forma estándar y ampliamente