天天看点

关于Arrays.asList()造成的java.lang.UnsupportedOperationException异常

触发原因

在项目中,利用Arrays.asList()将数组转成List集合后,并对其进行remove操作时报java.lang.UnsupportedOperationException异常;

查询博客后,是因为转换后的ArrayList类对象是Arrays内部的,并没有实现remove方法,所以在使用的时候,直接报父类AbstractList抛出的java.lang.UnsupportedOperationException异常;

具体详情参考博客:https://blog.csdn.net/qq_33774822/article/details/83213947;

解决办法

直接创建一个ArrayList类,并用addAll的方法将值传入。这样就能对其进行remove或其他操作

List<String> list=new ArrayList<String>();
list.addAll(Arrays.asList("1,2,3,4".split(",")));
		
System.out.println(list);//[1, 2, 3, 4]
list.remove(0);
System.out.println(list);//[2, 3, 4]