【发布时间】:2011-02-05 14:15:25
【问题描述】:
我看了Why is Java's Iterator not an Iterable?和Why aren't Enumerations Iterable?,但我还是不明白为什么会这样:
void foo(Iterator<X> it) {
for (X x : it) {
bar(x);
baz(x);
}
}
无法实现。换句话说,除非我遗漏了什么,否则上述内容可能是很好且有效的语法糖:
void foo(Iterator<X> it) {
for (X x; it.hasNext();) {
x = it.next();
bar(x);
baz(x);
}
}
【问题讨论】: