Veri sınıfları için record'lar
Bir satır, değişmez veri taşıyıcılar için 30'dan fazla satır şablon kodunun yerini alır.
Kod Karşılaştırması
✕ 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) {}
Bu kodda bir sorun mu gördünüz? Bize bildirin.
Modern yöntem neden daha iyi
Tek satır tanım
Tek satır constructor, getter'lar, equals, hashCode, toString'in yerini alır.
Varsayılan olarak değişmez
Tüm alanlar final'dır — setter tuzağı yoktur.
Kalıp dostu
Record'lar switch ve instanceof'ta parçalama kalıplarıyla çalışır.
Eski Yaklaşım
Ayrıntılı POJO
Modern Yaklaşım
record
JDK'dan itibaren
16
Zorluk
Başlangıç
JDK Desteği
Veri sınıfları için record'lar
Mevcut
JDK 16'dan itibaren geniş çapta kullanılabilir (Mart 2021)
Nasıl çalışır
Record'lar constructor'ı, erişimcileri (x(), y()), equals(), hashCode() ve toString() metodlarını otomatik olarak oluşturur. Tasarım gereği değişmezdirler ve DTO'lar, değer nesneleri ve kalıp eşleştirme için idealdir.
İlgili Belgeler