java.lang.UnsupportedOperationException at java.util.AbstractList

来源:互联网 发布:手机外卖软件咋接单 编辑:程序博客网 时间:2024/06/05 19:24

找到这个bug的原因和解决方法了,共享下....


『Java』 java.lang.UnsupportedOperationException at java.util.AbstractList

常常使用Arrays.asLisvt()后调用add,remove这些method时出现 java.lang.UnsupportedOperationException异常。这是由于:

Arrays.asLisvt() 返回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。

解决方法是使用Iterator,或者转换为ArrayList

[java] view plaincopy
  1. List list = Arrays.asList(a[]);  
  2. List arrayList = new ArrayList(list); 

原出处:


http://blog.csdn.net/chao121/article/details/5604263