Record per classi di dati
Una riga sostituisce oltre 30 righe di codice boilerplate per i data carrier immutabili.
Confronto Codice
✕ 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) {}
Vedi un problema con questo codice? Faccelo sapere.
Perché vince l'approccio moderno
Definizione in una riga
Una singola riga sostituisce costruttore, getter, equals, hashCode, toString.
Immutabile per default
Tutti i campi sono final — nessun setter pericoloso.
Pattern-friendly
I record funzionano con i pattern di destrutturazione in switch e instanceof.
Approccio Vecchio
POJO verboso
Approccio Moderno
record
Dal JDK
16
Difficoltà
Principiante
Supporto JDK
Record per classi di dati
Disponibile
Ampiamente disponibile dal JDK 16 (marzo 2021)
Come funziona
I record generano automaticamente il costruttore, gli accessori (x(), y()), equals(), hashCode() e toString(). Sono immutabili per design e ideali per DTO, value object e pattern matching.
Documentazione Correlata