我正在练习列表迭代,然后我卡住了。我的问题是,为什么这两种方法会产生不同的结果。为什么这两个列表迭代器的行为不同?
第一个代码打印出一个无限循环。而第二个则打印出索引中的下一个字符串。
我是新来的java,这也是我的第一语言。
public static void main(String[] args) {
String[] hi = {"yo", "wat", "sup"};
List<String> l1 = new ArrayList(Arrays.asList(hi));
while (l1.iterator().hasNext()) {
System.out.println(l1.iterator().next());
;
}
}
VS
public static void main(String[] args) {
String[] hi = {"yo", "wat", "sup"};
List<String> l1 = new ArrayList(Arrays.asList(hi));
Iterator<String> rator = l1.iterator();
while (rator.hasNext()) {
System.out.println(rator.next());
}
}
那么基本上.iterator每次执行while方法都是一个新的迭代器? –
@TinLe是的,它是。 – hexafraction