java.lang.UnsupportedOperationException

yzmm
560 阅读
本想直接把String xxx = "a,b,c";转成List然后再add的,结果发现报错了。
List<String> ls = Arrays.asList(list.split(","));  
ls.add(xxx);

java.lang.UnsupportedOperationException,修改下就好了。

List<String> ls = new ArrayList<String>();
String[] x = list.split(",");
for(String s:x){
	ls.add(s);
}

或者:List<String> ls =  new ArrayList<String>(Arrays.asList(list.split(",")));

http://blog.csdn.net/howareyouo/article/details/8682726

通过Arrays.asList(Object...array)拿到的List是个AbstractList, 是抽象类, 并没有实现add(), remove()等方法, 而是直接抛出这个UnsupportedOperationException,

有人说通过循环遍历插入到new 出来的List里,  其实不用这么麻烦:

String[] opers = request.getParameterValues("opers");
List<String> operList = opers == null ? new ArrayList<String>(0) : new ArrayList<>(Arrays.asList(opers));

这里拿到的operList就可以进行add, remove等方法了..

评论 (0)

发表评论