問題描述:對於給定的如下數組,如何轉換成List集合?
String[] array = {"a","b","c"};
參考stackoverflow
總結如下幾種寫法:
1.使用原生方式,拆分數組,添加到List
List<String> resultList = new ArrayList<>(array.length); for (String s : array) { resultList.add(s); }
2.使用Arrays.asList()
List<String> resultList= new ArrayList<>(Arrays.asList(array));
- 注意:調用
Arrays.asList()
時,其返回值類型是ArrayList
,但此ArrayList
是Array
的內部類,調用add()
時,會報錯:java.lang.UnsupportedOperationException
,並且結果會因為array
的某個值的改變而改變,故需要再次構造一個新的ArrayList
。
3.使用Collections.addAll()
List<String> resultList = new ArrayList<>(array.length); Collections.addAll(resultList,array);
4.使用List.of()
- 此方法為
Java9
新增方法,定義在List
接口內,並且為靜態方法,故可以由類名直接調用。
List<String> resultList = List.of(array);
原鏈接:https://stackoverflow.com/questions/157944/create-arraylist-from-array