Wzorce rekordów (destrukturyzacja)
Destrukturyzuj rekordy bezpośrednio we wzorcach — wyodrębnij pola w jednym kroku.
Porównanie kodu
✕ Java 8
if (obj instanceof Point) {
Point p = (Point) obj;
int x = p.getX();
int y = p.getY();
System.out.println(x + y);
}
✓ Java 21+
if (obj instanceof Point(int x, int y)) {
IO.println(x + y);
}
Widzisz problem z tym kodem? Daj nam znać.
Dlaczego nowoczesne podejście wygrywa
Bezpośrednia ekstrakcja
Dostęp do komponentów rekordu bez ręcznego wywoływania akcesorów.
Zagnieżdżalność
Wzorce mogą być zagnieżdżane — dopasowuj wewnętrzne rekordy w jednym wyrażeniu.
Zwięzły kod
Pięć linii staje się dwiema — mniej ceremonii, ta sama czytelność.
Stare podejście
Ręczny dostęp
Nowoczesne podejście
Destrukturyzacja
Od JDK
21
Poziom trudności
Średniozaawansowany
Wsparcie JDK
Wzorce rekordów (destrukturyzacja)
Dostępne
Szeroko dostępne od JDK 21 LTS (wrzesień 2023)
Jak to działa
Wzorce rekordów pozwalają rozkładać komponenty rekordu bezpośrednio w instanceof i switch. Obsługiwane są też wzorce zagnieżdżone, umożliwiając głębokie dopasowanie bez zmiennych pośrednich.
Powiązana dokumentacja
Dowód