无意间发现调用 Arrays.asList() 方法时 ,对list调用 remove() 方法抛出异常 :
异常分析:
java.lang.UnsupportedOperationException 表示 请求的方法不被支持,追溯一下源码
会发现 ArrayList<> 是继承了 AbstractList<>:
在 AbstractList<> 的源码中发现 remove()方法是抛 UnsupportedOperationException 异常的:
同时还有 add()、set() 方法都会这样:
解决办法:
将 Arrays.asList() 中的与元素转换成 ArrayList<>()