Java 数组如何转成List集合

问题描述:对于给定的如下数组,如何转换成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);

原链接:

问题描述:对于给定的如下数组,如何转换成List集合? String[] array = {"a","b","c"}; 参考stackoverflow总结如下几种写法: 1.使用原生方式,拆分数组,添加到List List resultList = new ArrayList<>(array.length); for (String s : array) { resultList.add(s); } 2.使用Arrays.asList() List resultList= new ArrayList<>(Arrays.asList(array)); 注意:调用Arrays.asList()时,其返回值类型是ArrayList,但此ArrayList是Array的内部类,调用add()时,会报错:java.lang.UnsupportedOperationException,并且结果会因为array的某个值的改变而改变,故需要再次构造一个新的ArrayList。 3.使用Collections.addAll() List resultList = new ArrayList<>(array.length); Collections.addAll(resultList,array); 4.使用List.of() 此方法为 Java9新增方法,定义在List接口内,并且为静态方法,故可以由类名直接调用。 List resultList = List.of(array); 原链接:
经验分享 程序员 微信小程序 职场和发展