在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中文網其他相關文章!