List<Object> list=Arrays.asList(1,2,3);//1,2,3数组转集合
List<Object>temp=new ArrayList<Object>();
temp.add(new Integer(4));//新集合 元素4
Collections.addAll(list,4);//新集合加入到原来集合
System.out.println(list);这里我们设想的是 会输出 1,2,3,4
然后 最后却报错
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractList.add(AbstractList.java:148)
at java.util.AbstractList.add(AbstractList.java:108)
at java.util.Collections.addAll(Collections.java:5401)
at com.example.tableauto.study.Tesd.main(Tesd.java:22)
从报错的信息点击去 ,看到的东西 并不能找到真正报错的原因,那么回过头来,我们来
在尝试使用Arrays.asList方法将数组转换为集合并添加元素时,遇到了UnsupportedOperationException。问题源于Arrays.asList返回的是一个不可修改的ArrayList内部类实例,未实现add()和addAll()方法。理解这一机制后,解决方案是自定义转换方法,返回标准的java.util.ArrayList对象以允许添加操作。
订阅专栏 解锁全文
1500

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



