参考文章:https://mp.weixin.qq.com/s/hFxkFyqjS8IlZ2jYUO6-zQ
Arrays#asList
以前只知道asList后获得的arrayList不可以修改,但不知道具体原因,看完程序员DD的文章后,终于弄明白了。
首先 如上图 asList返回的ArrayList不是java.util包下的ArrayList
返回的是 java.util.Arrays的内部类ArrayList
而且 这个ArrayList中 没有add() remove() 等修改方法。
foreach 增加/删除元素
嘻嘻,以前曾经碰到过这个问题,参考文章给了我全面的解析,感兴趣可以看一下参考文章,已经讲得很全面了。
直接说结论,修复办法两种:
1. 使用 Iterator#remove 删除元素
2. JDK1.8 List#removeIf (推荐!)