关于Arrays.asList()转的List报错
有这段代码
String str = "1,2,3,4,5,6,7";
String[] split = str.split(",");
List<String> ids = Arrays.asList(split);
List<String> list = new ArrayList<String>();
list.add("1");
for(int i = 0,n = list.size() ; i < n ; i++){
if (ids.contains(list.get(i))){
System.out.println(ids.get(i));
ids.remove(String.valueOf(list.get(i)));
}
}
System.out.println(ids);
结果就是
java.lang.UnsupportedOperationException
原因:
Arrays.asList()得到的ArrayList不是java.util包下的,而是java.util.Arrays.ArrayList,它是Arrays类自己定义的一个内部类!这个内部类没有实现add()、remove()方法,而是直接使用它的父类AbstractList的相应方法。
解决办法: 再转一下
List idss = new ArrayList(ids);