问题描述:对于给定的如下数组,如何转换成List集合?
String[]array= {"a","b","c"};
参考stackoverflow总结如下几种写法:
1.使用原生方式,拆分数组,添加到List
List resultList =newArrayList<>(array.length);
for(Strings :array) {
resultList.add(s);
}
2.使用Arrays.asList()
List resultList=newArrayList<>(Arrays.asList(array));
注意:调用Arrays.asList()时,其返回值类型是ArrayList,但此ArrayList是Array的内部类,不可修改, 调用add(), remove()等,会报错:java.lang.UnsupportedOperationException,并且结果会因为array的某个值的改变而改变. 如果需要操作该list时, 建议不要使用该方式.
3.使用Collections.addAll() (推荐)
List resultList =newArrayList<>(array.length);
Collections.addAll(resultList,array);
4.使用List.of()
此方法为Java9新增方法,定义在List接口内,并且为静态方法,故可以由类名直接调用。
List resultList = List.of(array);
原链接:https://blog.csdn.net/daofeng1992/article/details/95057862