Burak / Kutbay
Menü

Java Record Nedir ve Kullanımı

249 kelime · 2 dk okuma

Bu yazıda

Java 14 Record Nedir ve Record Kullanım Örneği

Bu sayfada
  1. Nedir?
  2. İlgili Java ve geliştirme içerikleri
  3. İlgili Java içerikleri
FIG_001 · Java Record Nedir ve Kullanımı

Java 14 sonrası gelen Record’un ne olduğundan ve nasıl kullanılacığından bahsedeceğim.

Nedir?

Kısaca özetlemek gerekirse DTO yaratmanın basit, kullanışlı ve yeni bir yoludur. Bu yenilik ile birlikte oluşturacağımız DTO’yu bir class değil record olarak oluşturup, alanlarımızı ise metot parametresi olarak tanımlıyoruz.

Record kullanarak DTO’larımızı hızlı oluşturup, kullanabiliyoruz. Record kullanarak getter, hashCode, equals metotları tanımlı olarak da gelmektedir.

Kullanımı

İlk önce klasik olarak bir class oluşturalım. Student sınıfında alanlarımız olacak.

PHP
public class Student{
   private long id;
   private String name;
   private String surName;

  //Constructor
  //Getter 
  //Setter
}Code language: PHP (php)

Yukarıda yazmadığım alanları da yazmak zorunda kalıyoruz. (Lombok var, evet 😊)

Bu yapının aynısını Record kullanarak yapalım.

JavaScript
public record Student(long id,String name,String surName){}Code language: JavaScript (javascript)

Örnekte gördüğünüz üzere bu kadar. İki yaklaşım da aynı işi yapmakta ve sonraki kullanımlarımızda bir farklılık katmamakta.

JavaScript
public record Student(long id,String name,String surName){
   public Student {
     this.id=id+2l;   
   }
}Code language: JavaScript (javascript)

Yukarıdaki örnekte olduğu gibi constructor yapabiliriz yada instance metot ya da static metotlar oluşturmamıza engel değil.

JavaScript
public class RecordsExample {

  public static void main(String[] args) {

    Student student = new Student(1l, "Burak", "Kutbay");

    System.out.println( student.toString() );

  }
}Code language: JavaScript (javascript)

Records kullanımına baktık ayrıca record reflectionları bulunmakta. Bunlardan bilmemiz gereken componenttir. Component kullanarak record sınıfına ait alanları görebiliyoruz.

JavaScript
var components = student.getClass.getRecordComponents();
for (RecordComponent recordComponent : components ){
   System.out.println(recordComponent)
}Code language: JavaScript (javascript)

Çıktımıza bakalım

CSS
java.lang.Long id
java.lang.String name
java.lang.String surNameCode language: CSS (css)

Güzel kodlamalar

İlgili Java ve geliştirme içerikleri

Java concurrency, Java multithreading, Java Record ve Spring Boot dersleri konularına da göz atabilirsiniz.

İlgili Java içerikleri

Java konularını tamamlamak için Java multithreading, Java Record ve Spring Boot Dersleri rehberlerini inceleyebilirsiniz.

Etiketler · 2

Yorumlar · 2

  1. “Record kullanarak DTO’larımızı hızlı oluşturup, kullanabiliyoruz. Record kullanarak getter, setter, hashCode, equals metotları tanımlı olarak da gelmektedir.” cümlenizi düzeltmek isterim.
    record’lar immutability sağladığı için setter metotları içermezler.

Yorum yaz

E-posta adresin yayımlanmaz. Zorunlu alanlar * ile işaretli.