java – 抛出ConcurrentModificationException系统依赖
发布时间:2020-12-15 03:11:40 所属栏目:Java 来源:网络整理
导读:我正在使用Iterator处理一段代码,并在我从 Windows上的IDE运行程序时在第a行获取ConcurrentModificationException– LinkedList ll =new LinkedList(); . . . . . . Iterator iter = ll.iterator(); int i=0; while (iter.hasNext()) { // GrammarSection ag
我正在使用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++; } 这是预期的,因为我在迭代时修改列表,因此失败快速迭代器抛出一个Concurrentmodification异常.但是,当我在unix中使用apache服务器运行此代码时,迭代器的下一个方法不会抛出任何异常.那么,并发修改异常是否依赖于操作系统级别? 解决方法
不,它不应该.无论如何它应该崩溃.
我想在不同的JVM上可能会有所不同,但根据official spec,链表上的迭代器应该是快速失败的. 操作系统与它无关. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |