如何在Java中初始化静态Map?最佳实践与示例
大家好!我是Java新手,遇到了一个问题。我需要创建一个静态的Map,用于存储一些常量值(例如,国家代码与其名称的对应关系)。我知道可以这样做:
```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");
}
}
```
但我觉得这不是最优雅的方式。首先,Map不是不可变的(immutable)——有人可能会意外修改它的内容。其次,我看到有些项目使用双大括号初始化(double brace initialization),但我听说这是一种不好的实践。第三,随着Java 9的发布,出现了像`Map.of()`这样的新方法,但我不确定如何正确使用它们。
请告诉我,有哪些现代且完