UnsupportedOperationException的分析与解决方案
来源:互联网 发布:批量sql注入检测工具 编辑:程序博客网 时间:2024/05/01 11:31
UnsupportedOperationException的分析与解决方案
当你在操作List对象时,可能会遇到类似这样的异常。
java.lang.UnsupportedOperationException
at java.util.AbstractList.remove(Unknown Source)
at java.util.AbstractList$Itr.remove(Unknown Source)
at java.util.AbstractCollection.remove(Unknown Source)
在后来找问题中,我突然想到了以前的一段代码出现的问题。
那就是一个方法
public List<XXXX> getXXXX() {
return Arrays.asList(objectArray);
}
其中,objectArray是一个对象数组, 返回的是Object[].我为了方便,偶然的机
会我就使用了Arrays.asList()方法。结果没有编译异常。当我在运行的时候,
就抛出了不能转换的异常。大致是Object转换为XXXX对象转换异常。
其实,从异常信息可以看出问题的根本是Arrays.asList()方法返回的是一个
AbstractList对象,而并非是ArrayList对象。
异常的根本已经找到了。接下来就讲讲怎么解决这样的异常了。
我的方法是在方法体内定义一个临时List对象,用了ArrayList。
List l = new ArrayList();
当然了可以范型化
List<XXXX> l = new ArrayList<XXXX>();
然后,再用一个for循环来加入到这个l列表中,并最终返回这个列表。
完成代码:
public List<XXXX> getXXXX() {
List<SysRole> list = new ArrayList<SysRole>();
for(Object o : objectArray) {
SysRole user = (SysRole)o;
list.add(user);
}
return list;
}
这样就解决了这个异常了。
另外还有一篇英文的连接,大家可以看看。
http://www.theserverside.com/discussions/thread.tss?thread_id=38493
- UnsupportedOperationException的分析与解决方案
- 探讨UnsupportedOperationException的原因及解决方案
- Gallery3D 报UnsupportedOperationException解决方案
- java.lang.UnsupportedOperationException 解决方案
- java.lang.UnsupportedOperationException 解决方案
- java.lang.UnsupportedOperationException 解决方案
- java.lang.UnsupportedOperationException 解决方案
- jsp乱码问题的分析与解决方案
- 原因分析与解决方案的实战演练
- 哲学家就餐问题的分析与解决方案
- UnsupportedOperationException
- UnsupportedOperationException
- UnsupportedOperationException
- UnsupportedOperationException
- UnsupportedOperationException
- MyBatis之java.lang.UnsupportedOperationException异常解决方案
- MyBatis之java.lang.UnsupportedOperationException异常解决方案
- MyBatis之java.lang.UnsupportedOperationException异常解决方案
- 输入法的问题。
- c#连接mysql类
- C++ 书籍大汇
- 家庭自酿葡萄酒入门(转)
- 中缀式构造后缀式
- UnsupportedOperationException的分析与解决方案
- 升华灵魂,感悟生活的30句话
- symbian中如何使用单态类
- MFC 添加系统栏图标
- 开发人员行走Unix的随身四艺
- Flamingo 学习笔记
- Struts+Freemarker一对超强组合
- VBA语句集300句
- javascript event 事件解析