java iterator hasnext() 死循环

来源:百度知道 编辑:UC知道 时间:2024/06/04 10:53:32
iterator= userfactory.FindTickets(begin, destination);
while(iterator.hasNext()){
num++;
}
其中userfactory.FindTickets(begin, destination)返回的是iterator类型。
调试的时候总是跳不出while,但是实际上iterator中只有两个元素。
还请高手帮忙啊

while(iterator.hasNext()){ //判断时候还有东西
num++;
iterator.next(); //有的话才取值
}
你原来的那样他不取,不取就还有,当然一直循环了。。。

没有移动next永远都在第一个。使用就成了死循环
while(iterator.hasNext()){
num++;
iterator.next();
}

while里没做处理,必须要做iterator.next(); ,这样iterator才能移动,不然永远出不来!

while(iterator.hasNext()){
num++;
iterator.next();
}