«

Java调用list的add方法报错java.lang.UnsupportedOperationException的解决方法

Qihan 发布于 阅读:769 文章


                String res="1,2,3,4,5,6,7";
                String[] split = res.split(",");
                List<String> ResList=Arrays.asList(split);
                ResList.forEach(s->{
                        System.out.println(s);
                });

相信很多小伙伴都会使用Arrays.asList来吧字符串转化为List列表。

在执行遍历遍历输出的时候是不会出错的但是一旦执行 add,方法的时候就会抛出错误java.lang.UnsupportedOperationException

主要原因是因为

Arrays.asList方法所放回的是java.util.Arrays.ArrayList  而我们常用的是java.util.ArrayList
调用Arrays.asList()生产的List的add、remove方法时报异常,这是由Arrays.asList() 返回的是Arrays的内部类ArrayList
而不是java.util.ArrayList


解决方法

使用 new ArrayList<>(Arrays.asList(split))  重新刷一遍

                String res="1,2,3,4,5,6,7";
                String[] split = res.split(",");
                List<String> ResList= new ArrayList<>(Arrays.asList(split));
                ResList.add("8");
                ResList.forEach(s->{
                        System.out.println(s);
                });

java

推荐阅读: