gpt4 book ai didi

java - 为什么我的示例不抛出 ConcurrentModificationException

转载 作者:搜寻专家 更新时间:2023-10-31 20:33:34 24 4
gpt4 key购买 nike

<分区>

我根据测试 ConcurrentModificationException 概念编写了这个示例:

public class Person
{
String name;
public Person(String name)
{
this.name = name;
}
}

public static void main(String[] args)
{
List<Person> l = new ArrayList<Person>();
l.add(new Person("a"));
l.add(new Person("b"));
l.add(new Person("c"));

int i = 0;
for(Person s : l)
{
if(s.name.equals("b"))
l.remove(i);
i++;
}

for(Person s : l)
System.out.println(s.name);
}

当我执行上面的 main 方法时,ConcurrentModificationException 没有被抛出并且输出控制台打印出以下结果:

a
c

据我对这个问题的了解,在一个列表循环中,当修改列表时,应该抛出一个ConcurrentModificationException异常。但为什么在我的示例中没有发生这种情况?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com