Я думаю, что не понимаю, как область действия работает в случае коммутатора.
Может кто-нибудь объяснить мне, почему первый код не компилируется, но второй делает?
Код 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" не содержится в Case 1?
Если я пропущу объявление случая 1, переменная "str" никогда не объявляется...