Java集合初始化賦值等相關問題
阿新 • • 發佈:2019-02-10
以下來舉幾個例子:
Map map= new HashMap<String, String>() {{
put("key1", "value1");
put("key2", "value2");
put("key3", "value3");
}};
這種語法叫做動態初始化塊List<String> stringList=new ArrayList<String>(){{ add("str1"); add("str2"); add("str3"); }};
第一個大括號代表匿名內部類
第二個大括號代表初始化塊
java中初始化循序
1.靜態初始化塊2.初始化塊
3.建構函式
使用動態初始化塊在spring管理的容器中容易出錯,錯誤代表:空指標異常,序列化異常,建構函式異常
建構函式異常出現在在動態初始化塊賦值中使用了spring容器注入的物件內參數
序列化異常出現在controller層與service層RPC互動時提示空指標並出現序列化異常,經後期編碼轉換後發現在controller接收到的service中賦值的Map為NULL