Records für Datenklassen
Eine Zeile ersetzt mehr als 30 Zeilen Boilerplate für unveränderliche Datenträger.
Code-Vergleich
✕ Java 8
public class Point {
private final int x, y;
public Point(int x, int y) { ... }
public int getX() { return x; }
public int getY() { return y; }
// equals, hashCode, toString
}
✓ Java 16+
public record Point(int x, int y) {}
Problem mit diesem Code entdeckt? Sag uns Bescheid.
Warum der moderne Weg gewinnt
Einzeilige Definition
Eine einzige Zeile ersetzt Konstruktor, Getter, equals, hashCode, toString.
Standardmäßig unveränderlich
Alle Felder sind final – keine Setter-Fallstricke.
Muster-freundlich
Records funktionieren mit Destrukturierungsmustern in switch und instanceof.
Alter Ansatz
Ausführliches POJO
Moderner Ansatz
record
Seit JDK
16
Schwierigkeitsgrad
Einsteiger
JDK-Unterstützung
Records für Datenklassen
Verfügbar
Seit JDK 16 allgemein verfügbar (März 2021)
Wie es funktioniert
Records generieren automatisch den Konstruktor, Accessoren (x(), y()), equals(), hashCode() und toString(). Sie sind von Natur aus unveränderlich und ideal für DTOs, Wertobjekte und Pattern Matching.
Zugehörige Dokumentation