持有对象01

Arrays.asList() 返回的list 实际是个固定长度的数组,不能进行add 操作。

报错


持有对象01_第1张图片
源码注释,aslist返回的是一个固定长度的list,是数组和collection的接口


持有对象01_第2张图片
java.util.Arrays


持有对象01_第3张图片
java.util.Arrays中的内部类,并非java.util.ArrayList

Arrays中的ArrayList并没有覆盖AbstractList中的add()方法。而AbstractLis中的add方法会直接抛出此异常。所以asList返回的list是不能用add方法的。


持有对象01_第4张图片
java.util.AbstractList

注:1.T... a 表示的传入的参数数量可以随意,你传多少个参数都被放到一个数组里面

        2.《Java编程思想》

List snow2 = Arrays.asList(new Light(),new Heavy()); 在Java1.8 中可以编译通过的

你可能感兴趣的:(持有对象01)