我正在練習列表迭代,然後我卡住了。我的問題是,爲什麼這兩種方法會產生不同的結果。爲什麼這兩個列表迭代器的行爲不同?
第一個代碼打印出一個無限循環。而第二個則打印出索引中的下一個字符串。
我是新來的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