import java.util.*;
public class ListTest{
public static void main(String[] args){
List<String> l = new ArrayList<String>();
l.add("one");
l.add("two");
l.add("three");
while(l.iterator().hasNext()){
System.out.println(l.iterator().next());
}
}
}这样做为什么是死循环呢??
public class ListTest{
public static void main(String[] args){
List<String> l = new ArrayList<String>();
l.add("one");
l.add("two");
l.add("three");
while(l.iterator().hasNext()){
System.out.println(l.iterator().next());
}
}
}这样做为什么是死循环呢??
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;public class Test {
public static void main(String[] args) {
List<String> l = new ArrayList<String>();
l.add("one");
l.add("two");
l.add("three"); Iterator iter = l.iterator();
while (iter.hasNext()) {
System.out.println(iter.next());
}
}
}
楼上的大哥能说详细点儿吗?为什么永远是第一个没往下迭代啊?不是有l.iterator().next();吗
这个问题我始终没搞明白.
List<String> l = new ArrayList<String>();
l.add("one");
l.add("two");
l.add("three");
Iterator iterator=l.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}你的循环每次都是重新得到一个迭代器··因为iterator()方法是获取当前可排列容器的迭代器··所以你每次都是死循环··获得迭代器只要调用一次iterator()方法··