Android开发中遇到ConcurrentModificationException异常的解决方法之一

转载自:https://www.cnblogs.com/dolphin0520/p/3933551.html

异常出现的背景:

例子大概是这个样子,也适用于java开发

            for (User user : userArrayList) {
                if (user.getPersonId().equals(10)) {
                    userArrayList.remove(user);
                }
            }

然后就报错。

根据原作者的分析,对Vector、ArrayList在迭代的时候如果同时对其进行修改就会抛出java.util.ConcurrentModificationException异常。


 解决方法之一:

 Iterator<User> iterator=userArrayList.iterator();
            while (iterator.hasNext()){
                User user=iterator.next();
                if (user.getPersonId().equals(10)){
                    iterator.remove();
                }
            }

说明:userArrayList是一个ArrayList表,User是关于用户信息的一个类,目的是删除Id=10的用户。

猜你喜欢

转载自blog.csdn.net/qq_31371757/article/details/84374858