簡體   English   中英

用於在Java中初始化散列映射的良好設計模式選擇

[英]Good design pattern choice for initializing a hashmap in Java

我在Java中有一個非靜態類,它有一個靜態hashmap字段。 應使用代碼生成的一些鍵值對初始化hashmap。 之后不會更改hashmap。

應該如何實現? 我應該創建一個靜態init方法,並確保在使用該類之前運行一次,或者有更好的方法嗎?

您可以在類中使用靜態初始化程序塊。

例如

private static Map<String, String> myMap;
static {
    HashMap<String,String> map = new HashMap<String,String>();
    map.put("foo","bar");

    myMap = Collections.unmodifiableMap(map);
}

您可以使用Google Guava庫輕松創建不可變地圖:

private static Map<String, String> map = ImmutableMap.of(
    "key1", "value1",
    "key2", "value2");

如果要將它用於許多值,則提供builder()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM