Java中Arrays.asList()返回的List调用add()抛异常的原因
通过Arrays.asList()可以方便的创建一个List,但是在调用这个List的add()或remove()方法时会抛异常,就像下边代码运行结果所示
public class ArraysTest {
public static void main(String[] args) {
List<Integer> list = Arrays.asList(1,2,3,4);
System.out.println("list = " + list);
list.add(5);
}
}
list = [1, 2, 3, 4]
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractList.add(AbstractList.java:148)
at java.util.AbstractList.add(AbstractList.java:108)
at org.test.test.ArraysTest.main(ArraysTest.java:15)
Process finished with exit code 1
通过输出类名,可以发现返回的是Arrays类中的一个内部类对象,不是我们常用的ArrayList:
public class ArraysTest {
public static void