开发者社区> kunfire> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

java.lang.UnsupportedOperationException异常处理

简介: java.lang.UnsupportedOperationException异常处理
+关注继续查看

这个异常遇到了才知道坑这么大,坑爹的方法。

List<String> woTypelist1 =  Arrays.asList("1","2","3");


List<String> woTypelist2 = new ArrayList<>()

woTypelist2.add("1");

woTypelist1.removeAll(woTypelist2); //发生java.lang.UnsupportedOperationException

在使用 Arrays.asList()转化数组成为list的时候,生成了ArrayList, 表面上看是 java.util.ArrayList,实际上是Arrays的内部类ArrayList, 两个ArrayList,都是继承 AbstractList,这他妈就是坑,不进去看源码仔细了解,还以为是一个ArrayList,但是进去后才发现,Arrays的内部类ArrayList没有重写 AbstractList的add和remove方法,再去看AbstractList的add和remove方法,居然是直接抛出异常 java.lang.UnsupportedOperationException,没有任何处理。这就导致上面这种方法生成的Arrays的ArrayList使用add或者remove方法会直接抛出异常。

处理办法:在使用Arrays.asList()做转化的时候,如果要进行修改操作,就要再转化一次:

List<String> woTypelist =  new ArrayList<>(Arrays.asList("1","2","3"));



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Exception in thread “main“ java.lang.UnsupportedOperationException
Exception in thread “main“ java.lang.UnsupportedOperationException
7 0
如何高效提升Java开发效率—Spring注解开发全套教程!
如何高效提升Java开发效率—Spring注解开发全套教程!
52 0
JAVA-String字符串的简单处理
JAVA-String字符串的简单处理
65 0
Java入门教程系列【1】Java基本数据类型
Java入门教程系列【1】Java基本数据类型
55 0
java.lang.ExceptionInInitializerError的原因
java.lang.ExceptionInInitializerError的原因
155 0
Java复习1-基本数据类型
数据类型 整形 type 存储 取值范围 int 4字节 -2 147 483 648 ~ 2 147 483 647 (超过20亿) short 2字节 -32 768 ~ 32 7677 long 8字节 -9 223 372 036 854 775 808 ~ 9 223 372 036 854 775 807 byte 1字节 -128 ~ 127 关于范围的计算,1字节=8位。
1052 0
+关注
kunfire
sf
文章
问答
文章排行榜
最热
最新
相关电子书
更多
OpenCrypto Unchaining the Java
立即下载
Java Your(Next)
立即下载
低代码开发师(初级)实战教程
立即下载