java初始化静态map常量

转载自这里
这种做法还是挺实用的


常用的声明方式(使用静态代码块)

1
2
3
4
5
public final static Map map = new HashMap();
static {
map.put("key1", "value1");
map.put("key2", "value2");
}

一种简约的方式:

1
2
3
4
public final static Map map = new HashMap() {{
put("key1", "value1");
put("key2", "value2");
}};

这种方式,相当于重载HashMap的一个匿名实现。向原有的HashMap中添加了一个匿名构造方法。

另外附加一个List/Set变量的声明方式:

1
public final static List list = Arrays.asList("element1", "element2");