- subList
通常如果list数目过大,需要用完后立即释放清空list存储空间,便于gc ;但是强引用不能,比如subList。subList这个类是内部类,不是java.util.ArrayList类型的,不能利用多态来强制类型转换。要强转型只能转型为java.util.List。
与原始的容器java.util.ArrayList共用同一块内存transient Object[] elementData,所以相互修改会相互影响:比如size(),clear()等modify结构的影响(会报ConcurrentModificationException异常),或者对容器内部元素的指向的修改,对元素内容的修改。
解决办法:可以另开辟一块内存,副本,那么就相互不影响。
这是java框架的过冗余,是对于list容器的过于封装。
因为要检查数据保证一致性,所以有的场景没法用,不能原地修改操作数组。需要去冗余。
- java.util.Arrays.ArrayList
工具类 Arrays.asList() 把数组转换成集合时,与原始的数组(T… a,)共