如何初始化靜態地圖?你如何初始化靜態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
提交
取消
