我读了为什么Java的迭代器不是Iterable?而为什么不枚举可迭代?,但我仍然不明白为什么这样:
void foo(Iterator<X> it) {
for (X x : it) {
bar(x);
baz(x);
}
}
Run Code Online (Sandbox Code Playgroud)
没有成功.换句话说,除非我遗漏了某些东西,否则上面可能是一个很好的有效语法糖:
void foo(Iterator<X> it) {
for (X x; it.hasNext();) {
x = it.next();
bar(x);
baz(x);
}
}
Run Code Online (Sandbox Code Playgroud)