java中,如果想把一个数组转换成为List集合,我们一般会使用Arrays.asList()方法,代码如下:
public class ArrayTest1 {
public static void main(String[] args) {
String[] arr = {"aa","bb","cc"};
List<String> list = Arrays.asList(arr);
List<String> target = new ArrayList<String>();
target.addAll(list);
target.add("dd");
for (String a : target) {
System.out.println(a);
}
}
}
因为,Arrays.asList()方法转换成的List集合类是java.util.Arrays.ArrayList下面的,它是java.util.Arrays类中自己定义的一个内部类,没有实现具体的add()以及remove()方法,直接使用父类AbstractList的方法,但是父类中add()以及remove()方法是抛出UnsupportedOperationException()异常的。
所以如果单纯转换成List集合是为了遍历,则通过Arrays.asList()方法转换之后就可以了,但是如果需要对List集合进行增删改操作的,则需要自己重新新建一个List集合,把数据转到新的集合中,进行后续操作。
本片文章借鉴了http://blog.youkuaiyun.com/keketrtr/article/details/47108435这篇博客的内容