今天朋友说写了个死循环 我看了看觉得不会呀
List list = new ArrayList();
list.add("aaa");
list.add("bbb");
Iterator ite = list.iterator();
while(ite.hasNext()){
System.out.println(------);
}
她说确实是死循环 ,我就仔细看了一下,发现while的条件不太对劲, 官方给出 hasNext():如果至少有一个元素返回true,否则假 next():返回下一个元素并将迭代器向前推进
也就是hasNext(),并不会向下一个元素移动,所以以上程序会一直返回true,陷入死循环 只要在while的方法体里面加入next(),游标回向下个元素推进,到最后一个元素以后就会跳出。