Language Początkujący

Jedna linia zastępuje ponad 30 linii szablonowego kodu dla niemutowalnych nośników danych.

✕ 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) {}
Widzisz problem z tym kodem? Daj nam znać.

Definicja w jednej linii

Jedna linia zastępuje konstruktor, gettery, equals, hashCode, toString.

🔒

Niemutowalne domyślnie

Wszystkie pola są final — żadnych niebezpiecznych setterów.

🧩

Przyjazne dla wzorców

Rekordy współpracują z wzorcami destrukturyzacji w switch i instanceof.

Stare podejście
Rozbudowane POJO
Nowoczesne podejście
record
Od JDK
16
Poziom trudności
Początkujący
Rekordy dla klas danych
Dostępne

Szeroko dostępne od JDK 16 (marzec 2021)

Rekordy automatycznie generują konstruktor, akcesory (x(), y()), equals(), hashCode() i toString(). Są niemutowalne z założenia i idealne dla DTO, obiektów wartości i dopasowania wzorców.