概述
[size=large] 近日,整理工作包下的警告出现了以下失误,让同事大大地鄙视了一把。
我将很多
for (Iterator<String> it = list.iterator(); it.hasNext();)
{String str = (String) it.next();}
改成了
while (list.iterator().hasNext()) {
String str = (String) list.iterator().next();}
这个问题反映了我对for循环和Iterator接口理解不够深刻。
很明显,问题的关键就在于忽略了:前一段代码中String str = (String) it.next();这句代码执行时[color=red]不仅会返回游标右边的元素还会把游标移动到下一个位置[/color]。而后者list.iterator()不会发生变化,没有循环机制,只要判断list.iterator()游标右边有元素就会一直执行,造成死循环。[/size]
最后
以上就是碧蓝绿茶为你收集整理的while (list.iterator().hasNext())的错误的全部内容,希望文章能够帮你解决while (list.iterator().hasNext())的错误所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复