如何初始化静态地图?你如何初始化静态Map在爪哇?方法一:静态初始化方法二:实例初始化(匿名子类)还是其他方法?每种方法的优缺点是什么?下面是演示这两种方法的示例:import java.util.HashMap;import java.util.Map;public class Test {
private static final Map<Integer, String> myMap = new HashMap<Integer, String>();
static {
myMap.put(1, "one");
myMap.put(2, "two");
}
private static final Map<Integer, String> myMap2 = new HashMap<Integer, String>(){
{
put(1, "one");
put(2, "two");
}
};}
3 回答
鸿蒙传说
TA贡献1865条经验 获得超7个赞
public class Test {
private static final Map<Integer, String> myMap;
static {
Map<Integer, String> aMap = ....;
aMap.put(1, "one");
aMap.put(2, "two");
myMap = Collections.unmodifiableMap(aMap);
}}
慕标5832272
TA贡献1966条经验 获得超4个赞
public class Test {
private static final Map<Integer, String> MY_MAP = createMap();
private static Map<Integer, String> createMap() {
Map<Integer, String> result = new HashMap<Integer, String>();
result.put(1, "one");
result.put(2, "two");
return Collections.unmodifiableMap(result);
}}它避免了匿名类,我个人认为这是一种糟糕的风格,并且避免了匿名类。 它使地图的创建更加明确。 它使地图不可修改 因为我的映射是常量,所以我把它命名为常量
添加回答
举报
0/150
提交
取消
