java.lang.UnsupportedOperationException异常

原创 2015年07月10日 17:33:06

出错代码段:

String[] ids=approveId.split(",");
List<String> list=Arrays.asList(ids);
HashSet h  =   new  HashSet(list); 
list.clear(); 
list.addAll(h); 
ids=(String[]) list.toArray();

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


Arrays.asList() 返回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
List list = Arrays.asList(a[]);

List arrayList = new ArrayList(list);


修改后代码段:

String[] ids=approveId.split(",");
List<String> list=Arrays.asList(ids);
List arrayList = new ArrayList(list);//这里必须要转成ArrayList,否则在执行.clear()时会报错。
HashSet h  =   new  HashSet(arrayList); 
arrayList.clear(); 
arrayList.addAll(h); 
ids=(String[]) arrayList.toArray();



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

安卓之使用DrawerLayout出现的java.lang.UnsupportedOperationException异常

在使用安卓的抽屉控件DrawerLayout的时候有这样的一个需求,就是在某些状态下抽屉上的布局是列表left_drawer有些状态下是列表left_drawer1两个列表样式不一样。因此我的布局文件...

java.lang.UnsupportedOperationException异常

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

Arrays.asList(strArray)转换为List,执行remove(),报异常:java.lang.UnsupportedOperationException深究

在使用Arrays.asList(strArray)转换成List,调用该list的remove()方法,报异常:java.lang.UnsupportedOperationException。 代码...

【Java】关于java.lang.UnsupportedOperationException异常错误的处理

今天在使用,set集合的add方法时,抛出了一个异常,java.lang.UnsupportedOperationException下面进行错误的复盘,代码如下:public static void ...

java 异常java.lang.UnsupportedOperationException

使用Arrays.asList时会出现的错误

java 异常java.lang.UnsupportedOperationException

原文网址:http://www.cnblogs.com/QQParadise/articles/2969735.html 在项目中采用一个枚举的集合,本人采用Collections中的空集合Col...

java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x12问题

完整报错信息如下:09-12 02:41:27.588: E/AndroidRuntime(445): FATAL EXCEPTION: main 09-12 02:41:27.588: E/Andr...

android 安装 apk 遭遇 java.lang.UnsupportedOperationException: Only file:// URIs

[摘要: 那段时光做一个老项目标进级战功效的增加,看代码的写法战类应当是2011年摆布的代码,听讲本来是一个淘宝的老员工做的。我把新的功效的做上往了 过了一段时光版本便上线了。]     这段...

java.lang.UnsupportedOperationException: Not supported by DruidDataSource 错误解析

今天突然想将连接池换成了Druid,我使用的是maven,      com.alibaba     druid     0.2.16   &...

java.lang.UnsupportedOperationException WebView is not allowed in privileged processes

最近做一个项目,项目调试基础库的一个调试工具展示设备信息页面使用WebView。有一个应用集成调试基础库展示内容时出现 java.lang.UnsupportedOperationException:...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)