美文网首页
java.lang.UnsupportedOperationEx

java.lang.UnsupportedOperationEx

作者: Java_xiaoman | 来源:发表于2020-09-11 17:04 被阅读0次

在java中,对list进行操作的时候,有时候会报错:java.lang.UnsupportedOperationException

image.png
image.png

产生原因:
通过代码可以看到,这个list是由数组转换而来的;
看下源码:


image.png
返回了一个ArrayList,但是此ArrayList是Arrays中的内部类:java.util.Arrays.ArrayList
image.png

可以看到,Arrays中的内部类:java.util.Arrays.ArrayList是继承自于AbstractList,再进AbstractList看:


image.png
可见,里面操作集合的方法,是不做任何操作,直接throw new UnsupportedOperationException();
并且,java.util.Arrays.ArrayList里面是没有重写这些方法的;
我们再去java.util.ArrayList中去看, 首先java.util.ArrayList也是继承自AbstractList,
但是在java.util.ArrayList中,重写了集合操作的各个方法
image.png

解决方案:
将由数组转换而来的集合,转换为java.util.ArrayList即可


image.png

以上,问题解决;

相关文章

网友评论

      本文标题:java.lang.UnsupportedOperationEx

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