Language Principiante

Una riga sostituisce oltre 30 righe di codice boilerplate per i data carrier immutabili.

✕ 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.

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
Record per classi di dati
Disponibile

Ampiamente disponibile dal JDK 16 (marzo 2021)

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.

Condividi 𝕏 🦋 in