@@ -12,4 +12,11 @@ switch (ausdruck) {
|
|||||||
|
|
||||||
- `ausdruck` muss Typ `enum`, `byte`, `short`, `int`, `char` oder `String` ergeben. `long` ist nicht erlaubt (Wrapper gehen auch). Der Ausdruck muss nicht konstant sein, kann z.B. durch eine Funktion ermittelt werden.
|
- `ausdruck` muss Typ `enum`, `byte`, `short`, `int`, `char` oder `String` ergeben. `long` ist nicht erlaubt (Wrapper gehen auch). Der Ausdruck muss nicht konstant sein, kann z.B. durch eine Funktion ermittelt werden.
|
||||||
- Case-Ausdrücke müssen Compile-Zeit-Konstanten sein.
|
- Case-Ausdrücke müssen Compile-Zeit-Konstanten sein.
|
||||||
- Es werden alle Case-Blöcke ab dem ersten passenden durchlaufen, bis ein `break` abbricht. Auch `der default`-Block, wenn schon gematcht war!
|
- Keine nicht-finalen Variablen
|
||||||
|
- Keine Methodenaufrufe, auch nicht, wenn immutable.
|
||||||
|
- Strings sind erlaubt
|
||||||
|
- `null` nicht erlaubt
|
||||||
|
- Es werden alle Case-Blöcke ab dem ersten passenden durchlaufen, bis ein `break` abbricht. Auch `der default`-Block, wenn schon gematcht war!
|
||||||
|
- Der `default`-Block darf überall stehen und wird genauso behandelt wie alle anderen Blöcke. Ohne `break` geht es weiter. Mit `break` ist Schluss.
|
||||||
|
- Es dürfen keine zwei gleichen case-Konstanten vorhanden sein, auch nicht zwei default-Blöcke.
|
||||||
|
- Leere switch-Anweisungen sind erlaubt
|
||||||
Reference in New Issue
Block a user