java – 为什么对foreach方法进行并发修改而不对for循环进行修
发布时间:2020-12-15 01:08:01 所属栏目:Java 来源:网络整理
导读:ArrayList 我得到一个concurrentModificationException,但正常的for循环.我没有任何例外. 在正常的forloop像: for(int i=0;i 最佳答案 ForEach循环不会直接在您的集合上循环.它使用了你的集合的迭代器.您可以在集合实现中看到迭代器. 从Arraylist source co
我得到一个concurrentModificationException,但正常的for循环.我没有任何例外.
最佳答案
ForEach循环不会直接在您的集合上循环.它使用了你的集合的迭代器.您可以在集合实现中看到迭代器.
从Arraylist source code起
你的foreach循环等于
因此,如果您在此处执行任何操作,并且同时修改集合,则引擎盖下的迭代器会出现混淆并引发异常. 从JLS开始
将被翻译为:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |