Java的在還沒有發現新寫法之前時,我一直是這麼初始化List跟Map:
代碼如下 |
複製代碼 |
//初始化List List<string> list = new ArrayList</string><string>(); list.add("string1"); list.add("string2"); //some other list.add() code...... list.add("stringN"); //初始化Map Map</string><string , String> map = new HashMap</string><string , String>(); map.put("key1", "value1"); map.put("key2", "value2"); //.... some other map.put() code map.put("keyN", "valueN"); </string> |
好麻煩啊。。。。。有一天擼到這樣的一種方式:
代碼如下 |
複製代碼 |
//初始化List List<string> list = new ArrayList</string><string>(){{ add("string1"); add("string2"); //some other add() code...... add("stringN"); }}; //初始化Map Map</string><string , String> map = new HashMap</string><string , String>(){{ put("key1", "value1"); put("key2", "value2"); //.... some other put() code put("keyN", "valueN"); }}; </string> |
雖然看起來沒少寫多少代碼,但是個人覺得這種方式還是簡潔多了很多,很流暢啊哈哈~
例,後現一聚小編測試了List兩個執行個體更簡單
法一:
利用Array與ArrayList的相互轉換方法,代碼如下:
代碼如下 |
複製代碼 |
ArrayList<String> list = new ArrayList(Arrays.asList("Ryan", "Julie", "Bob")); |
法二:
利用ArrayList的add方法完成初始化賦值,代碼如下:
代碼如下 |
複製代碼 |
List list = new ArrayList<String>(){{ add("A"); add("B"); }} |