美文网首页
Java 数组如何转成List集合

Java 数组如何转成List集合

作者: Seaofdesire | 来源:发表于2018-09-12 12:05 被阅读0次

问题描述:对于给定的如下数组,如何转换成List集合?

String[] array = {"a","b","c"};

参考stackoverflow总结如下几种写法:

  1. 使用原生方式,拆分数组,添加到List
List<String> resultList = new ArrayList<>(array.length);
for (String s : array) {
    resultList.add(s);
}
  1. 使用Arrays.asList()
List<String> resultList= new ArrayList<>(Arrays.asList(array));

注意:调用Arrays.asList()时,其返回值类型是ArrayList,但此ArrayList是Array的内部类,调用add()时,会报错:java.lang.UnsupportedOperationException,并且结果会因为array的某个值的改变而改变,故需要再次构造一个新的ArrayList。

异常分析:
java.lang.UnsupportedOperationException是指请求的方法不被支持的异常。在从Arrays.asList()转化过来的List的不支持add()和remove()方法,这是由于从Arrays.asList()返回的是返回java.util.Arrays$ArrayList,而不是ArrayListArrays$ArrayListArrayList都是继承AbstractList,add() 和remove()等方法在AbstractList中默认throw UnsupportedOperationException而不做任何操作。ArrayList重写这些方法对List进行操作,而Arrays$ArrayList却没有重写add()和 remove()等方法,所以对从Arrays.asList()转化过来的List进行add()和remove()会出现UnsupportedOperationException异常。

  1. 使用Collections.addAll()
List<String> resultList = new ArrayList<>(array.length);
Collections.addAll(resultList,array);
  1. 使用List.of()

此方法为 Java9新增方法,定义在List接口内,并且为静态方法,故可以由类名直接调用。

List<String> resultList = List.of(array);

https://www.cnblogs.com/kangkaii/p/8427739.html

相关文章

  • Java 数组如何转成List集合

    问题描述:对于给定的如下数组,如何转换成List集合? 参考stackoverflow总结如下几种写法: 使用原生...

  • Java数组如何转成List集合

    方法1:循环遍历添加方法2:使用Arrays.asList()List resultList = Arrays....

  • 源码解析:java.util.ArrayList和java.ut

    有时候我们需要将数组转成List集合对象,这时我们可以使用java.util.Arrays的asList方法,例如...

  • java list转json 和json 转list 笔记

    java list集合转json json 数组转list集合 bean类 完整代码:

  • 集合

    集合继承关系图 集合Collection的方法 Object[] toArray()集合转成数组 学习Java中三...

  • Java数组转成list,list转数组

    另:Arrays.asList()返回一个受指定数组支持的固定大小的列表。所以不能做Add、Remove等操作。L...

  • Java集合

    Java集合 类库关系图 List ArrayList:Object数组 CopyOnArrayListCopyO...

  • Java中将数组转成List

    1.Arrays.asList坑点说明 在开发中,我们有时候会需要将数组转换为集合List,这时候可能会想到Arr...

  • ArrayList使用与分析

    简介 java.util.ArrayList是Java集合框架中list接口的可变数组的实现,对list接口的全部...

  • Java 集合

    Java集合分4种体系:Set List Queue Map集合与数组的区别:集合可以保存数量不定的数据;集合可以...

网友评论

      本文标题:Java 数组如何转成List集合

      本文链接:https://www.haomeiwen.com/subject/zwlvgftx.html