用于在Java中初始化散列映射的良好设计模式选择

Ric*_*J89 2 java design-patterns hashmap

我在Java中有一个非静态类,它有一个静态hashmap字段.应使用代码生成的一些键值对初始化hashmap.之后不会更改hashmap.

应该如何实现?我应该创建一个静态init方法,并确保在使用该类之前运行一次,或者有更好的方法吗?

Tre*_*man 5

您可以在类中使用静态初始化程序块.

例如

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

    myMap = Collections.unmodifiableMap(map);
}
Run Code Online (Sandbox Code Playgroud)