若使用:
List<String> list = Arrays.asList(arr);
确实会返回一个ArrayList对象,但是该类是Arrays类 中一个私有静态内部类,而不是常见的java.util.ArrayList类。
这个java.util.Arrays.ArrayList
类具有set()
,get()
,contains()
等方法,但是不具有任何添加或移除元素的任何方法。
因为该类的大小size
是固定的。
为了创建出一个真正的ArrayList
,代码应该写成:
ArrayList<String> arrayList = new ArrayList<String>(Arrays.asList(arr));
实际上,更加高效的代码示例是:
ArrayList arrayList = new ArrayList(arr.length);
Collections.addAll(arrayList, arr);
```