Arrays.asList() 返回的list 实际是个固定长度的数组,不能进行add 操作。
报错 源码注释,aslist返回的是一个固定长度的list,是数组和collection的接口 java.util.Arrays java.util.Arrays中的内部类,并非java.util.ArrayListArrays中的ArrayList并没有覆盖AbstractList中的add()方法。而AbstractLis中的add方法会直接抛出此异常。所以asList返回的list是不能用add方法的。
java.util.AbstractList注:1.T... a 表示的传入的参数数量可以随意,你传多少个参数都被放到一个数组里面
2.《Java编程思想》
List snow2 = Arrays.asList(new Light(),new Heavy()); 在Java1.8 中可以编译通过的
网友评论