gpt4 book ai didi

java - 并发修改异常

转载 作者:IT老高 更新时间:2023-10-28 20:40:41 25 4
gpt4 key购买 nike

我有一小段代码,它给了我并发修改异常。我不明白为什么我一直得到它,即使我没有看到正在执行任何并发修改。

import java.util.*;

public class SomeClass {
public static void main(String[] args) {
List<String> s = new ArrayList<>();
ListIterator<String> it = s.listIterator();

for (String a : args)
s.add(a);

if (it.hasNext())
String item = it.next();

System.out.println(s);
}
}

最佳答案

为避免 ConcurrentModificationException,您应该这样编写代码:

import java.util.*;

public class SomeClass {

public static void main(String[] args) {
List<String> s = new ArrayList<String>();

for(String a : args)
s.add(a);

ListIterator<String> it = s.listIterator();
if(it.hasNext()) {
String item = it.next();
}

System.out.println(s);

}
}

java.util.ListIterator 允许您在迭代期间修改列表,但不能在创建和使用之间修改。

关于java - 并发修改异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1496180/

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