美文网首页
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