Record-Muster (Destrukturierung)
Records direkt in Mustern destrukturieren – Felder in einem Schritt extrahieren.
Code-Vergleich
✕ Java 8
if (obj instanceof Point) {
Point p = (Point) obj;
int x = p.getX();
int y = p.getY();
System.out.println(x + y);
}
✓ Java 21+
if (obj instanceof Point(int x, int y)) {
IO.println(x + y);
}
Problem mit diesem Code entdeckt? Sag uns Bescheid.
Warum der moderne Weg gewinnt
Direkter Zugriff
Record-Komponenten zugreifen, ohne Accessoren manuell aufzurufen.
Verschachtelbar
Muster können verschachtelt werden – innere Records in einem einzigen Ausdruck abgleichen.
Kompakter Code
Fünf Zeilen werden zu zwei – weniger Zeremonie, gleiche Klarheit.
Alter Ansatz
Manueller Zugriff
Moderner Ansatz
Destrukturierung
Seit JDK
21
Schwierigkeitsgrad
Fortgeschritten
JDK-Unterstützung
Record-Muster (Destrukturierung)
Verfügbar
Seit JDK 21 LTS allgemein verfügbar (Sept. 2023)
Wie es funktioniert
Record-Muster ermöglichen die Zerlegung der Komponenten eines Records direkt in instanceof und switch. Verschachtelte Muster werden ebenfalls unterstützt, was tiefes Matching ohne Zwischenvariablen ermöglicht.
Zugehörige Dokumentation