在日常开发中,经常会遇到数组转集合,例如调用Arrays.asList()会返回一个ArrayList。当我们想在这个集合中使用add()方法的时候就会出现报错如下图所示

出现这种原因是由于Arrays.asList()方法返回的是一个内部类ArraysList.此ArraysList并不是List的实现类ArraysList的那个对象。进入Arrays的源代码中发现这个内部类并没有提供add()方法,就出现了java.lang.UnsupportedOperationException异常
那么我们要通过这个方法把数组转换成集合并且使用add()方法。要怎么做呢?下面是给出的一个静态方法,只需要传入数据就可以获取对应的集合并可以使用add方法添加。关于Stream流的研究本人还不理解也是在网上找的工具类。
public static <E> List<E> transferArrayToList(E[] array){
List<E> transferedList = new ArrayList<>();
Arrays.stream(array).forEach(arr -> transferedList.add(arr));
return transferedList;
}

本文探讨了在Java中如何将数组转换为可添加元素的列表。通常使用Arrays.asList()方法进行转换,但该方法返回的列表不支持add()操作。文章提供了自定义方法transferArrayToList,利用Stream流将数组元素添加到新的ArrayList中,从而实现数组到可修改列表的转换。
1472

被折叠的 条评论
为什么被折叠?



