为什么使用Arrays.asList转换返回的list不能直接新增
Arrays类中asList方法是将传入的数据转入Arraylist
public static <T> List<T> asList(T... a) { return new ArrayList<>(a); }
但是这个ArrayList并不是java.util.ArrayList,而是Arrays类中的一个内部类
ArrayList(E[] array) { a = Objects.requireNonNull(array); }
他并没有如ArrayList一样继承AbstractList,所以并不能使用add和remove

解决办法 new一个新的list出来
List<String> strings = new ArrayList<>(Arrays.asList(arr));
同时注意新增和删除需要用迭代器来进行。

浙公网安备 33010602011771号