在阴影方面,Java中的每个循环和传统的for循环有什么区别?
这是我的代码:
class HelloWorld {
char[] foo = {'a', 'b'};
// This will compile
void foo() {
for (char foo : foo) {
}
}
// This will not compile
void bar() {
for (char foo = 0; foo < foo.length; foo++) {
}
}
}
为什么编译但编译失败:foo
bar
Error: char cannot be dereferenced
两个循环声明之间的区别是什么,这使得循环在 foo 编译但 bar 失败?