Java调用list的add方法报错java.lang.UnsupportedOperationException的解决方法
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);
});
推荐阅读: