Como inicializar um Map estático em Java? Melhores práticas e exemplos
Olá a todos! Sou novo em Java e tive um problema. Preciso criar um Map estático que armazene alguns valores constantes (por exemplo, a correspondência de códigos de países para seus nomes). Sei que posso fazer assim:
```java
public class MyClass {
public static final Map countryCodes = new HashMap<>();
static {
countryCodes.put("US", "United States");
countryCodes.put("RU", "Russia");
countryCodes.put("DE", "Germany");
}
}
```
Mas acho que não é a forma mais elegante. Primeiro, o Map não é imutável — alguém pode acidentalmente alterar seu conteúdo. Segundo, vi que em alguns projetos usam inicialização de dupla chave (double brace initialization), mas ouvi dizer que é uma má prática. Terceiro, com o lançamento do Java 9, surgiram novos métodos como `Map.of()`, mas não tenho certeza de como usá-los corretamente.
Por favor, me digam quais são as formas modernas e