在 Java 中初始化静态映射:选项和注意事项
静态映射提供了一种在类中存储键值对的便捷方法。在初始化静态映射时,Java 提供了两种主要方法:静态初始化程序和实例初始化程序(使用匿名子类)。
静态初始化程序
静态初始化程序初始化语法允许您定义映射并在静态块中填充其值,如示例所示下面:
private static final Map<Integer, String> myMap = new HashMap<>(); static { myMap.put(1, "one"); myMap.put(2, "two"); }
这个方法很简单,不需要任何额外的类或语法糖。但是,初始化后对地图所做的任何修改都不会反映在静态版本中。
实例初始化程序(匿名子类)
实例初始化程序,位于另一方面,使用匿名子类来初始化映射:
private static final Map<Integer, String> myMap2 = new HashMap<>(){ { put(1, "one"); put(2, "two"); } };
这种方法为初始化提供了紧凑而简洁的语法地图。但是,它创建的匿名子类可能会影响性能,尤其是在嵌套较多的实例中。
注意事项
private static final Map<Integer, String> myMap = Collections.unmodifiableMap(aMap);
选择哪种方法?
之间的选择静态和实例初始化程序取决于具体用例:
以上是如何在 Java 中最好地初始化静态映射?的详细内容。更多信息请关注PHP中文网其他相关文章!