原因:
线程访问越界
在使用迭代器的时候,同一个循环中,Iterator类中的next()方法不能出现俩次;
场景:
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
if(2==iterator.next())
iterator.remove();
}
}
修正:
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()){
Integer k = iterator.next()
System.out.println(k);
if(2==k)
iterator.remove();
}
}
最后
以上就是无限蚂蚁最近收集整理的关于报错:NoSuchElementException的全部内容,更多相关报错内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复