A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 茜茜茜茜大茜茜 于 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循环遍历的时候不能添加和删除元素


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马