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