说这个文章之前,首先需要了解一件事:
我们都知道可以通过Arrays.asList()方法,来将数组转为list集合(如果这样就ok也就不需要题目中的后半句话了).
可是以这个方法将数组转换List后,不能对List增删,只能查改,否则会抛出异常。
这是因为java.util.Arrays.ArrayList 这里面有java.util.Arrays里面的内部类,里面没有重写增删方法,就会调用父类的AbstractList,可以看到父类的增删方法,就会报错,即使调用iterator也会报错。
而Arrays.asList()生成的list集合其实就是Arrays的内部类.
能增删元素的数组转list
既然不能增删我们就要另辟蹊径,
可以通过:array -> java.util.Arrays.ArrayList -> java.util.ArrayList
实现:
List<String> list = new ArrayList<>(Arrays.asList(array));
这时的new ArrayList<>(Arrays.asList(array)),就调用的并不是初始化大小的方法了,可以进行正常的操作了(add/remove都可以)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。