Arrays.asList的坑

发布时间 2023-12-21 16:50:36作者: java奇才

2023年12月21日下午16.46分,咪宝马上下班去上海过圣诞节去了,一个人孤单

 

CTO:谁在项目中使用Arrays.asList、ArrayList.subList,就立马滚蛋!

 

1.asList用来把数组转成ArrayList,方便。

  但问题是这个方法生成的ArrayList是Arrays的内部类,这个内部类没有实现抽象类AbstractList的put方法,所以不能添加元素,同时也没办法转换成真正的ArrayList,所以只能用做临时List,最好不用

 

2.Arrays.subList用来分割List,生成的同样是一个内部类,不是真正的ArrayList,子集合和父集合的元素修改相互影响。父集合修改结构后,子集合会报错,子集合添加元素会让父集合也添加元素

总的来说子集合就是父集合的一个视图