采用比较好的方法Collections.addAll(arrayList, arr);
arrayList是一个List
arr是一个数组
并且要求arrayList与arr的类型是相同的 或 arrayList的类型是arr类型的父类
源码:
@SafeVarargs
public static <T> boolean addAll(Collection<? super T> c, T... elements) {
boolean result = false;
for (T element : elements)
result |= c.add(element);
return result;
}
?
Arrays.asList(array)或者Arrays.asList(new Element(1),new Element(2),new Element(3))
不过,这样做有些坑要注意:
- 这样做生成的list,是定长的。也就是说,如果你对它做add或者remove,都会抛UnsupportedOperationException。
- 如果修改数组的值,list中的对应值也会改变!
Arrays.asList()
返回的是Arrays内部静态类,而不是Java.util.ArrayList的类。这个java.util.Arrays.ArrayList有
set(),get(),contains()方法,但是没有任何add() 方法,所以它是固定大小的
时间: 2024-10-31 10:28:56