Konuyu Açan
#0
Java 14 ile tanıtılan records, Java dilinde veri taşıyıcıları oluşturmanın yeni ve etkili bir yolunu sunar. Records, veri yapılarını tanımlarken boilerplate kodunu azaltarak, geliştiricilerin işini kolaylaştırır. Bu yazıda, Java records kullanımına dair temel kavramları ve örnekleri ele alacağım.
Öncelikle, bir record tanımlamak için
Bu tanım ile
Records, bazı temel özellikleri otomatik olarak sağlar. Bu özellikler arasında
Records kullanmanın avantajlarından biri de, immutability (değişmezlik) sağlamasıdır. Yani, bir record oluşturulduktan sonra, içindeki veriler değiştirilemez. Bu özellik, çoklu iş parçacığı (multithreading) uygulamalarında veri tutarlılığını artırır.
Bunun yanı sıra, records'lar inheritance (kalıtım) özelliği ile çalışmaz. Yani bir record başka bir record'dan miras alamaz. Ancak, bir record başka bir interface'i implement edebilir. Örneğin:
Sonuç olarak, Java records, geliştiricilere veri taşıyıcıları oluştururken daha az kod yazma imkanı sunar. Bu, kodun okunabilirliğini artırır ve hata olasılığını azaltır. Records kullanarak daha temiz ve düzenli bir kod yapısı oluşturmak mümkündür. Java records ile ilgili deneyimlerinizi ve görüşlerinizi paylaşabilirsiniz.
Öncelikle, bir record tanımlamak için
record anahtar kelimesini kullanırız. Örneğin, basit bir Person record'u şöyle tanımlanabilir:CODE
12
public record Person(String name, int age) {}
Bu tanım ile
Person adında bir veri yapısı oluşturmuş olduk. name ve age alanları, otomatik olarak private ve final olarak belirlenir. Yani, bu alanlar sadece tanımlandıkları sınıf içerisinde erişilebilir ve değiştirilemez.Records, bazı temel özellikleri otomatik olarak sağlar. Bu özellikler arasında
toString(), equals(), ve hashCode() metodları yer alır. Örneğin:CODE
123
Person person = new Person("Ali", 30);
System.out.println(person); // Çıktı: Person[name=Ali, age=30]
Records kullanmanın avantajlarından biri de, immutability (değişmezlik) sağlamasıdır. Yani, bir record oluşturulduktan sonra, içindeki veriler değiştirilemez. Bu özellik, çoklu iş parçacığı (multithreading) uygulamalarında veri tutarlılığını artırır.
Bunun yanı sıra, records'lar inheritance (kalıtım) özelliği ile çalışmaz. Yani bir record başka bir record'dan miras alamaz. Ancak, bir record başka bir interface'i implement edebilir. Örneğin:
CODE
1234567891011
public interface Describable {
String describe();
}
public record Person(String name, int age) implements Describable {
@Override
public String describe() {
return name + " is " + age + " years old.";
}
}
Sonuç olarak, Java records, geliştiricilere veri taşıyıcıları oluştururken daha az kod yazma imkanı sunar. Bu, kodun okunabilirliğini artırır ve hata olasılığını azaltır. Records kullanarak daha temiz ve düzenli bir kod yapısı oluşturmak mümkündür. Java records ile ilgili deneyimlerinizi ve görüşlerinizi paylaşabilirsiniz.