在Java 中初始化靜態映射的靜態與實例初始化器
在Java 中,初始化靜態映射具有某些含義,可能會影響您的選擇初始化方法。
靜態初始化器:
優點:
缺點:
實例初始化器(匿名子類別):
優點:
缺點:
使用靜態初始化器的不可變靜態映射:
如果不可變性是優先考慮的,您可以使用靜態初始化器創建不可變映射,方法是先實例化一個可變映射,填充它,然後使用Collections.unmodifyingMap()建立一個不可變版本:
public class Test { private static final Map<Integer, String> myMap; static { Map<Integer, String> aMap = ...; aMap.put(1, "one"); aMap.put(2, "two"); myMap = Collections.unmodifiableMap(aMap); } }
總之,對於基本的靜態映射初始化,靜態初始化器提供了一個乾淨且有效率的解決方案。然而,對於要求不可變性的場景,透過靜態初始化器建立不可變映射提供了一種穩健的方法。
以上是靜態初始化器與實例初始化器:哪一種最適合在 Java 中初始化靜態映射?的詳細內容。更多資訊請關注PHP中文網其他相關文章!