1.问题原因

这两天在做开发的时候,在一个首页的列表哪里操作了ArrayList集合,在做递归删除的时候用的是Iterator对象(至于为什么用,来个链接https://blog.csdn.net/mingliangniwo/article/details/49301937),But还是报错。

at java.util.Collections$UnmodifiableCollection$1.remove(Collections.java:10)  这个问题经过排查后发现是,当我对ArrayList集合进行addAll操作,然后再把从数据库获取的数据赋值给这个集合。集合的类型会变为

unmodifiableCollection类型

2.解决问题

Collections.unmodifiableCollection 实际是使用的代理模式,返回的Collection内部仍然使用原来Collection.这里我的解决方式就是新创建了一个ArrayList集合将数据重新addAll进去,然后再进行删除操作就OK了。

JAVA集合操作异常 ---------Collections.unmodifiableCollection的更多相关文章

  1. Java集合操作类Collections的一些常用方法

    public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); ...

  2. Java集合框架GS Collections具体解释

    Java集合框架GS Collections具体解释 作者:chszs.未经博主同意不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs GS Collec ...

  3. JAVA集合操作的利器:CollectionUtils

    使用 CollectionUtils 中四个方法之一执行集合操作.这四种分别是 union(),intersection();disjunction(); subtract(); 下列例子就是演示了如 ...

  4. Java集合框架:Collections工具类

    java.util.Collections工具类提供非常多实用的方法.使得程序员操作集合类的时候更加的方便easy,这些方法都是静态的. 整个Collections工具类源代码几乎相同有4000行.我 ...

  5. JAVA 集合操作总结

    1.Collection 1.基本操作 对集合的基础操作 1.boolean add(Object o) //添加对象到集合 2.boolean remove(Object o) //删除指定的对象 ...

  6. Java:集合工具类-Collections

    Java.util.Collections 集合框架工具类Collections,其方法都是静态的,本身没有构造函数. 常见方法: static <T extends Comparable< ...

  7. java集合框架之Collections

    参考http://how2j.cn/k/collection/collection-collections/369.html Collections是一个类,容器的工具类,就如同Arrays是数组的工 ...

  8. Java集合(1):Collections工具类中的static方法

    与Arrays一样,Collections类中也有一些实用的static方法. (1) 排序操作 reverse(List list):反转指定List集合中元素的顺序 shuffle(List li ...

  9. Java集合操作精华总结

    一.Set1.HashSet boolean add(E e) 添加 访问 boolean remove(E e) 删除 Iterator<E> iterator 遍历 int size( ...

随机推荐

  1. TableStore:创建SyncClient+getRow读取一行数据

    1.通过控制台或者客户端,在TableStore中新建了实例owlforest,在实例详情中获取到实例访问地址endPoint 2.新建表user,确定主键为userid(Interger)类型,因为 ...

  2. IDEA集成git和使用步骤

    2018年07月20日 11:26:29 完猛 阅读数:3246    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/miwanmeng/artic ...

  3. 学生管理系统.JavaScript

    python 实现 | c调用 JavaScript /*是否带有小数*/ function isDecimal(strValue ) { var objRegExp= /^\d+\.\d+$/; r ...

  4. IDEA 快捷操作 Windows

    1.查找Action  ctrl+shift+A :可通过其查询其他操作快捷键等. 2.项目之间跳转:ctrl+shift+[ 与  ctrl+shift+] 3.alt + 数字 展开对应窗口 4. ...

  5. wgrib读grib数据

    该文章来自博客:http://windforestwing.blog.163.c ... 412007103084743804/如有错误 ,大家及时指出啊!ps:meteoinfo可以直接处理grib ...

  6. 2. instr用法

    跟oracle中的instr用法一样: SQL> select count(*) from t where instr(title,‟oracle‟)>0; COUNT(*) ———- 5 ...

  7. Android ADB 基本命令

    ADB很强大,记住一些ADB命令有助于提高工作效率. 获取序列号: adb get-serialno 查看连接计算机的设备: adb devices 重启机器: adb reboot 重启到bootl ...

  8. asp.net webform/mvc导出Excel通用代码

    最近将自己在项目中经常用到的excel导出方法分析如下,如有不妥之处望他人指出,如果有更好的方法希望展示出来互相学习. //导出事件 protected void btnexcel_Click(obj ...

  9. idea 关闭代码自动折叠,形参提示,行数栏图标,启动不默认打开上次的项目

    1,代码自动折叠 1.1,File > setting > Editor > General > Code Folding 1.2,勾选右侧不想要折叠的代码部分 2,形参提示 ...

  10. Event 对象的属性和方法

    事件触发时,会将一个 Event 对象传递给事件处理程序,比如: document.getElementById("testText").addEventListener(&quo ...