Avatar ·

如何在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),但据说这是一种不好的实践。是否有标准的、通用的方法?