【发布时间】:2014-04-18 21:35:06
【问题描述】:
import java.util.Collections;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
public class TryMe {
public static void main(String args[]) {
List list = new LinkedList<String>();
list.add("one");
list.add("two");
list.add("three");
Collections.reverse(list);
Iterator iter = list.iterator();
for (Object o : iter) {
System.out.print(o + " ");
}
}
}
这个问题来自 SCJP,我在理解迭代器和可迭代方面有问题。
我知道迭代器是迭代器方法的接口。为什么我们不能在迭代器的情况下为每个循环使用?编译器说:只能迭代一个数组或者java.lang.iterable的一个实例。这是什么?我尝试了很多搜索但没有得到答案
请回复
【问题讨论】:
-
你在迭代器上迭代而不是在迭代器上
-
@RC。不相关,可能是重复
-
顺便说一句,编译器很清楚你的问题:只能迭代 array 或
java.lang.Iterable的实例>,所以你不能遍历Iterator