Arrays.asList() 返回的list 实际是个固定长度的数组,不能进行add 操作。
![](https://img.haomeiwen.com/i3820866/45484d4efbef9f87.png)
![](https://img.haomeiwen.com/i3820866/1827dae6aeb83856.png)
![](https://img.haomeiwen.com/i3820866/2eb7408390227e54.png)
![](https://img.haomeiwen.com/i3820866/0df451823ab0a78f.png)
Arrays中的ArrayList并没有覆盖AbstractList中的add()方法。而AbstractLis中的add方法会直接抛出此异常。所以asList返回的list是不能用add方法的。
![](https://img.haomeiwen.com/i3820866/88940d947bd148c5.png)
注:1.T... a 表示的传入的参数数量可以随意,你传多少个参数都被放到一个数组里面
2.《Java编程思想》
List snow2 = Arrays.asList(new Light(),new Heavy()); 在Java1.8 中可以编译通过的
网友评论