by Anonymous » 08 May 2025, 15:16
Wie in dieser Frage hier beantwortet, gehört der Umfang einer Variablen innerhalb eines Falles zum gesamten Switch selbst, nicht nur der Fall . Daher kompiliert dies nicht (doppelte lokale Variable): < /p>
int key = 2;
switch (key) {
case 1:
String str = "1";
return str;
case 2:
String str = "2";
return str;
}
< /code>
Ich interessiere mich hauptsächlich für zwei Dinge ... < /p>
- Was ist die Philosophie oder das Designprinzip hinter diesem Verhalten? (Vielleicht frage ich sogar die Motivation für die Switch -Anweisung als Ganzes?)
- Wie passiert das? Wie sieht dieser Code den Bytecode oder sogar die Assembly, Level an?
Wie in dieser Frage hier beantwortet, gehört der Umfang einer Variablen innerhalb eines Falles zum gesamten Switch selbst, nicht nur der Fall . Daher kompiliert dies nicht (doppelte lokale Variable): < /p>
int key = 2;
switch (key) {
case 1:
String str = "1";
return str;
case 2:
String str = "2";
return str;
}
< /code>
Ich interessiere mich hauptsächlich für zwei Dinge ... < /p>
[list]
[*] Was ist die Philosophie oder das Designprinzip hinter diesem Verhalten? (Vielleicht frage ich sogar die Motivation für die Switch -Anweisung als Ganzes?)
[*] Wie passiert das? Wie sieht dieser Code den Bytecode oder sogar die Assembly, Level an?
[/list]