当前位置:   article > 正文

java 报错 unsupported_java: Arrays.ArrayList.add 报错java.lang.UnsupportedOperationException-Go语言中文社区...

unsupported source type: class java.util.arraylist

环境:jdk1.8

在Java中,使用java.util.ArrayList类时,由于java.util.ArrayList的构造器没法传入数组或者list进行初始化,所以我们常用Arrays.asList()方法来进行List的初始化和测试。使用Arrays.asList()初始化后,但在后续的使用中按照ArrayList的方法去操作经常会遇到很多坑。。。

如下代码:

public static void main(String[] args) {

List myList = Arrays.asList(1, 2, 3, 4);

myList.add(5);

System.out.println(myList.size());

}

执行时报错:

Exception in thread "main" java.lang.UnsupportedOperationException

at java.util.AbstractList.add(AbstractList.java:148)

at java.util.AbstractList.add(AbstractList.java:108)

at com.dmp.TestJavaList.main(TestJavaList.java:9)

具体分析如下:

Arrays.asList()方法返回的对象是 java.util.Arrays.ArrayList, 这个对象和java.util.ArrayList在一些api的使用上是有一些差异的。

这里遇到的问题就是add,addAll方法的问题

java.util.ArrayList的add方法, 实现了接口java.util.Collection的add方法

a0d682d57b080b801e25263b65f7d99e.png

而java.util.Arrays.ArrayList的add方法,使用的是基类java.util.AbstractList的方法,

43cfad34737234306b94801f07b75d65.png

在用的时候一定会抛出异常啦。。。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/476656
推荐阅读
相关标签
  

闽ICP备14008679号