黑马程序员技术交流社区

标题: 【石家庄校区】日常小异常 [打印本页]

作者: 茜茜茜茜大茜茜    时间: 2019-1-8 16:49
标题: 【石家庄校区】日常小异常
本帖最后由 茜茜茜茜大茜茜 于 2019-1-8 17:00 编辑

【石家庄校区】日常小异常

异常
创建人        张亚茜
问题标题        运行抛出异常
问题分类        抛出ConcurrentModificationException异常
一级话题        Exception in thread "main" java.util.ConcurrentModificationException
问题补充        
附件      
[AppleScript] 纯文本查看 复制代码
 public static void main(String[] args) {
        Collection<String> arr=new ArrayList<String>();
        arr.add("张无忌");
        arr.add("张翠山");
        arr.add("赵敏");
        arr.add("杨不悔");
        for (String str : arr) {
            if(str.equals("张翠山")){
                arr.remove(str);
            }
        }
        for (String name : arr) {
            System.out.print(name+" ");
        }
    }


问题答案        问题分析:
foreach的底层是迭代器,其在遍历的时候不能添加和删除元素,因为我们根本调用不到底层的迭代器对象
问题解决方法:
在使用增强for循环遍历的时候不能添加和删除元素







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2