在开发过程中有时候需要把一个ArrayList转化为一个数组,有没有什么简便的方法呢?
最普遍也是被最多人接受的答案如下:
ArrayList<Element> arrayList =
new
ArrayList<Element>(Arrays.asList(array));
其源码如下:
public
ArrayList(Collection<?
extends
E> c) {
elementData = c.toArray();
size = elementData.length;
if
(elementData.getClass() != Object[].
class
)
elementData = Arrays.copyOf(elementData, size, Object[].
class
);
}
另外还有一种用法:
List<Element> list = Arrays.asList(array);
这种方法只适用于固定大小的list,因为asList()返回的列表的大小是固定的,不能进行添加和删除操作,否则会报错。