Records pour les classes de données
Une ligne remplace plus de 30 lignes de code répétitif pour les porteurs de données immutables.
Comparaison de Code
✕ 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.
Pourquoi la méthode moderne gagne
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
Support JDK
Records pour les classes de données
Disponible
Disponible depuis JDK 16 (mars 2021)
Comment ça fonctionne
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.
Documentation Associée