在使用Arrays.asList()添加数据时,发生异常:
public static void main(String[] args) {
//泛型集合
List<String> list=Arrays.asList("peter","john","collection");
//添加
get_addAll(list);
}
/**
* 1.addAll(集合,要添加的元素) 将所有指定元素添加到指定集合中
* @param list
*/
private static void get_addAll(List<String> list) {
Collections.addAll(list,"mike","zhang","boy");
System.out.println("添加数据:"+list);
}
原因:
Arrays.asList(strArray)产生的list只可以对其进行查询和修改,如果对其进行删除或者新增,则就会抛出异常。
Arrays.asList(strArray)返回值是java.util.Arrays类中一个私有静态内部类java.util.Arrays.ArrayList具有 set(),get()等方法,不具有添加add()或remove()方法,所以新增或者删除会报错。
查看源码:
查看ArrayList类
解决:再套一层ArrayList,就是重新把转换出的list转成java.utils下的ArrayList