Language Débutant

Une ligne remplace plus de 30 lignes de code répétitif pour les porteurs de données immutables.

✕ 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) {}
Un problème avec ce code ? Dites-le nous.

Définition en une ligne

Une seule ligne remplace constructeur, getters, equals, hashCode et toString.

🔒

Immutable par défaut

Tous les champs sont final — sans risque de setters.

🧩

Compatible avec les patterns

Les records fonctionnent avec les patterns de déstructuration dans switch et instanceof.

Ancienne Approche
POJO verbeux
Approche Moderne
record
Depuis JDK
16
Difficulté
Débutant
Records pour les classes de données
Disponible

Disponible depuis JDK 16 (mars 2021)

Les records génèrent automatiquement le constructeur, les accesseurs (x(), y()), equals(), hashCode() et toString(). Ils sont immutables par conception et idéaux pour les DTOs, objets de valeur et le pattern matching.

Partager 𝕏 🦋 in