如何在Java中初始化静态Map?(附示例)
大家好!我是Java新手,在初始化静态Map时遇到了问题。我需要创建一个常量映射(例如,国家代码对应国家名称),该映射可以在程序的任何位置访问,而无需创建类的实例。
我尝试这样做:
```java
public class CountryCodes {
public static final Map codes = new HashMap<>();
codes.put("RU", "俄罗斯");
codes.put("US", "美国");
codes.put("DE", "德国");
}
```
但编译器报错:"Illegal static declaration" 或 "Cannot resolve symbol 'codes'"。我知道方法外的代码不会执行,但如何正确填充Map呢?在Python中,我只需在类体中写一个字典,而在Java中则复杂得多。
我读过关于静态初始化块的内容,但不确定这是否是正确的做法。我还看到有人使用双花括号初始化(double brace initialization),但据说这是一种不好的实践。是否有标准的、通用的方法?