Avatar ·

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