问题场景:
将String[] 数组转为 List集合,后对list集合进行添加删除报UnsupportedOperationException
百度原因:
Arrays.asList返回的集合不支持元素的添加和删除(不支持add、addAll、remove方法),否则抛出UnsupportedOperationException(不支持操作异常)。
分析原理:
首先先分析Arrays.asList源码
可以看出asList方法中是new ArrayList,而内部类ArrayList是继承的AbstractList类
发现AbstractList类中的add方法是抛出异常,因此需要内部类ArrayList重写add、remove方法才可以使用,因此asList方法返回的内部类不能调用add、remove方法。
如何解决?
新建一个ArrayList即可解决