我想我不明白在开关箱里瞄准镜是怎么工作的。
有人能解释一下为什么第一个代码不能编译而第二个能编译吗?
代码1:
int key = 2;
switch (key) {
case 1:
String str = "1";
return str;
case 2:
String str = "2"; // duplicate declaration of "str" according to Eclipse.
return str;
}
代码2:
int key = 2;
if (key == 1) {
String str = "1";
return str;
} else if (key == 2) {
String str = "2";
return str;
}
为什么变量“ str”的作用域不包含在案例1中?
如果我跳过情况1的声明,变量“ str”永远不会被声明..。