如何初始化静态地图?你如何初始化静态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
提交
取消