Como inicializar um Map estático em Java? (com exemplos)
Olá a todos! Sou novo em Java e tive um problema com a inicialização de um Map estático. Preciso criar um mapa constante (por exemplo, mapeamento de códigos de países para seus nomes) que seja acessível de qualquer lugar do programa sem criar uma instância da classe.
Tentei fazer assim:
```java
public class CountryCodes {
public static final Map codes = new HashMap<>();
codes.put("RU", "Rússia");
codes.put("US", "EUA");
codes.put("DE", "Alemanha");
}
```
Mas o compilador dá erro: "Illegal static declaration" ou "Cannot resolve symbol 'codes'". Entendo que o código fora de métodos não é executado, mas como então preencher o Map corretamente? Em Python, eu simplesmente escreveria um dicionário no corpo da classe, mas em Java é mais complicado.
Li sobre blocos de inicialização estática, mas não tenho certeza se é a abordagem correta. Também vi que alguns usam inicialização de dupla chave (double brace initialization), mas dizem que é uma má prática. Existe uma forma padrão e amplamente