抛出ConcurrentModificationException系统依赖

use*_*934 7 java collections

我正在使用Iterator处理一段代码,并在我从Windows上的IDE运行程序时在第a行获取ConcurrentModificationException--

  LinkedList ll =new LinkedList();
  . . .
  . . . 
  Iterator iter = ll.iterator();
  int i=0;
   while (iter.hasNext()) {
       // GrammarSection agrammarSection = (GrammarSection) iter.next();  //a
       String s1 = (String) iter.next();
        ll.remove(i);
        i++;
   }
Run Code Online (Sandbox Code Playgroud)

这是预期的,因为我在迭代时修改列表,因此失败快速迭代器抛出一个Concurrentmodification异常.但是,当我在unix中使用apache服务器运行此代码时,迭代器的下一个方法不会抛出任何异常.那么,并发修改例外是否依赖于操作系统级别?

Joe*_*ckx 3

不,不应该。无论如何它应该崩溃。

我想在不同的 JVM 上它可能会有所不同,但根据官方规范,链表上的迭代器应该是快速失败的。

操作系统与它无关。