Language Einsteiger

Typprüfung und Cast in einem Schritt mit Pattern Matching kombinieren.

✕ Java 8
if (obj instanceof String) {
    String s = (String) obj;
    System.out.println(s.length());
}
✓ Java 16+
if (obj instanceof String s) {
    IO.println(s.length());
}
Problem mit diesem Code entdeckt? Sag uns Bescheid.
🔄

Kein überflüssiger Cast

Typprüfung und Variablenbindung erfolgen in einem einzigen Ausdruck.

📏

Weniger Zeilen

Eine Zeile statt zwei – die Cast-Zeile entfällt vollständig.

🛡️

Gültigkeitsbereich-Sicherheit

Die Pattern-Variable ist nur dort im Gültigkeitsbereich, wo der Typ garantiert ist.

Alter Ansatz
instanceof + Cast
Moderner Ansatz
Pattern-Variable
Seit JDK
16
Schwierigkeitsgrad
Einsteiger
Pattern Matching für instanceof
Verfügbar

Seit JDK 16 allgemein verfügbar (März 2021)

Pattern Matching für instanceof eliminiert den überflüssigen Cast nach einer Typprüfung. Die Variable ist automatisch auf den Gültigkeitsbereich beschränkt, in dem das Muster passt, was den Code sicherer und kürzer macht.

Teilen 𝕏 🦋 in