DEV Community

Mustafa  Çam
Mustafa Çam

Posted on

Generic <>

Java'da Generic (Jenerik), tür parametreleri kullanarak sınıf, arayüz ve metotların türden bağımsız olarak tanımlanmasını sağlayan bir özelliktir³. Jenerikler sayesinde, kodunuzda belirli bir türe bağlı kalmadan esnek ve yeniden kullanılabilir yapılar oluşturabilirsiniz. Bu, tür güvenliği sağlar ve çalışma zamanı hatalarını derleme zamanında tespit etmeye yardımcı olur¹.

Jeneriklerin Avantajları:

  • Tür Güvenliği: Jenerikler, derleme zamanında tür kontrolü yaparak çalışma zamanı hatalarını önler².
  • Yeniden Kullanılabilirlik: Aynı kodu farklı türlerle kullanarak kod tekrarını azaltır².
  • Daha Temiz Kod: Tür dönüşümlerini azaltarak kodun okunabilirliğini ve anlaşılırlığını artırır².

Jenerik Kullanımı:

Jenerikler, < ve > işaretleri arasına yazılan tür parametreleri ile tanımlanır. Örneğin, ArrayList sınıfı bir jenerik sınıftır ve aşağıdaki gibi kullanılabilir:

List<String> stringListesi = new ArrayList<>(); // String türünde bir List
stringListesi.add("Merhaba");
// stringListesi.add(10); // Hata! Integer türünde bir değer eklenemez.
Enter fullscreen mode Exit fullscreen mode

Bu örnekte, stringListesi yalnızca String türünde öğeler kabul eder ve bu sayede tür güvenliği sağlanır.

Jenerikler, Java programlamada güçlü ve esnek yapılar oluşturmanıza olanak tanır. !

Kaynak: Bing ile konuşma, 17.05.2024
(1) Generic Sınıflar Lesson | Patika.dev. https://bing.com/search?q=java+generic+nedir.
(2) Java Generic Nedir? - Emre Çelen. https://emrecelen.com.tr/java-generic-nedir/.
(3) Java’da Generics. Generics, farklı referans veri… | by ... - Medium. https://medium.com/bili%C5%9Fim-hareketi/java-generics-7948a2da58d3.
(4) Generic Sınıflar Lesson | Patika.dev. https://academy.patika.dev/courses/java-102/generics.
(5) Java Generic Sınıflar - Java - Veysel Uğur KIZMAZ. http://www.ugurkizmaz.com/blog/java-generic-s%C4%B1n%C4%B1flar.
(6) Java’da Generics Kavramı - İlker Yelekçioğlu - Medium. https://medium.com/@yelekciogluilker/javada-generics-kavramı-eab33518b99e.

Top comments (0)