【发布时间】:2017-04-04 17:23:28
【问题描述】:
这是我的代码:
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失败的两个循环声明有什么区别?
【问题讨论】:
-
你在逻辑上操作/比较字符和整数之间的 [ 那怎么可能是非 eorneuos
-
你在 char 类型中使用 ++ 吗?如果你对 ireration 变量使用相同的名称 foo 而不是必须是错误的数组变量
-
为什么
bar使用char变量?不应该是int吗?如果您使用int,它是否仍然表现出相同的行为?