美文网首页
java 异常:java.lang.UnsupportedOpe

java 异常:java.lang.UnsupportedOpe

作者: 凉初透的风 | 来源:发表于2018-01-17 10:50 被阅读0次

异常信息:

java.lang.UnsupportedOperationException

    java.util.AbstractList.remove(Unknown Source)

    java.util.AbstractList$Itr.remove(Unknown Source)

    java.util.AbstractCollection.remove(Unknown Source)

    .....................................


从异常信息可以看出,错误定位在集合使用remove方法上,原因是因为部分集合类型一样但是缺少部分方法或不支持。

如特殊情况如下:

(1)常常使用Arrays.asList()生成的List后调用add,remove这些method时出现java.lang.UnsupportedOperationException异常。这是由于:

Arrays.asLis    t() 返回java.util.Arrays$ArrayList, 而不是ArrayList。Arrays$ArrayList和ArrayList都是继承AbstractList,remove,add等method在AbstractList中是默认throw UnsupportedOperationException而且不作任何操作。ArrayList override这些method来对list进行操作,但是Arrays$ArrayList没有override remove(int),add(int)等,所以throw UnsupportedOperationException。

解决方法是转为ArrayList:

List list = Arrays.asList( 数组 );

List arrayList  = new ArrayList( list );

相关文章

网友评论

      本文标题:java 异常:java.lang.UnsupportedOpe

      本文链接:https://www.haomeiwen.com/subject/iumyoxtx.html