[英]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.