我们无法对我们从中获得的集合执行<Collection>.add或<Collection>.addAll操作Arrays.asList..只允许删除操作.
那么如果我遇到需要添加新元素List而不删除以前元素的情况List怎么办?我怎样才能做到这一点?
Roh*_*ain 58
ArrayList使用构造函数创建一个新的:
List<String> list = new ArrayList<String>(Arrays.asList("a", "b"));
Run Code Online (Sandbox Code Playgroud)
NPE*_*NPE 12
一种方法是构建一个新的ArrayList:
List<T> list = new ArrayList<T>(Arrays.asList(...));
Run Code Online (Sandbox Code Playgroud)
完成后,您可以随意修改list.
Arrays.asList(),生成一个实际上由数组支持的列表,并且它是一个变形为列表的数组。您可以将其用作列表,但不能对其执行某些操作,例如添加新元素。所以最好的选择是将它传递给另一个列表 obj 的构造函数,如下所示:
List<T> list = new ArrayList<T>(Arrays.asList(...));
Run Code Online (Sandbox Code Playgroud)