我正在阅读这个 "Java 并发问题的常见解决方案" 的问题,并被一个回答中提到的 java.util.ConcurrentModificationException 所困惑。
我的理解是,这种情况可能发生在单线程程序中。 是什么条件导致以下代码抛出异常?
List<String> list = new ArrayList<String>(Arrays.asList("a", "b", "c"));
for (String string : list) { list.remove(string); }
Iterator.remove
方法来修改集合,将不会抛出异常。 - aioobe