Je crois que je ne comprends pas comment la portée fonctionne dans un cas de switch.
Quelqu'un peut-il m'expliquer pourquoi le premier code ne compile pas mais le second oui ?
Code 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;
}
Code 2 :
int key = 2;
if (key == 1) {
String str = "1";
return str;
} else if (key == 2) {
String str = "2";
return str;
}
Comment se fait-il que la portée de la variable "str" ne soit pas contenue dans le cas 1 ?
Si je saute la déclaration du cas 1, la variable "str" n'est jamais déclarée...
0 votes
J'ai apporté une réponse à la question initiale sur le des modifications de la portée des variables locales et de l'utilisation des expressions de type "switch". con java-12