您的位置:首页 > 编程语言 > Java开发

java.lang.UnsupportedOperationException

2017-01-14 16:08 330 查看
原因:当Java中的List列表是通过Arrays.asList(T... a)来生成的,而又想对这个list作修改操作,就会抛出此异常。

如: List<Menu> list = Arrays.asList(new Menu[]{m1,m2}); for(Menu m : list){ m.setChildren(m3);}

解决方案:使用add方法添加对象。

异常示例:

Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractList.remove(AbstractList.java:161)
at java.util.AbstractList$Itr.remove(AbstractList.java:374)
at List转树实现.getRootNodeByLastNode(List转树实现.java:70)
at List转树实现.main(List转树实现.java:57)


代码示例:

//通过此方法构造的List列表,无论foreach还是iterator都不能做删除操作(或者添加)
List<Integer> list = Arrays.asList(new Integer[]{1,2,3});

//1.error
for (Integer integer : list) {
//list.add(1);
list.remove(integer);
}
//2.error
Iterator<Integer>iter = list.iterator();
while(iter.hasNext()){
iter.next();
iter.remove();
}
System.out.println(list);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  UnsupportedOperation
相关文章推荐