使用LinkedList实例化一个list集合,通过Iterator()方法序列化集合中的对象。
java.util.Iterator<String> it = list.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
在循坏输出时出现以下错误:
Exception in thread "main" java.util.ConcurrentModificationException
at java.base/java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:970)
at java.base/java.util.LinkedList$ListItr.next(LinkedList.java:892)
at day1.addAll.main(addAll.java:32)
错误:执行完循环语句System.out.println(it.next());这句代码执行时不仅会返回游标右边的元素还会把游标移动到下一个位置。而list.iterator()不会发生变化,没有循环机制,只要判断list.iterator()游标右边有元素就会一直执行,造成死循环。
解决办法:
将while()语句改成for语句,如下:
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/73728.html