Javada Generics Kavramı

Java’da generics nedir, neden kullanılır? Tip güvenliği, yeniden kullanılabilir sınıflar ve koleksiyonlarda generics kullanımını örneklerle öğrenin.

Ali YILMAZ
Ali YILMAZ

Yönetici

131

Java’da Generics Kavramı

Java’da generics, sınıf, arayüz ve metotlara tür parametreleri tanımlamayı sağlayan bir yapıdır. Bu yapı sayesinde tip güvenliği sağlanır ve kodun yeniden kullanılabilirliği artar. Koleksiyon yapıları gibi farklı veri tiplerini işleyebilen yapılarda sıklıkla kullanılır.

1. Generics Neden Kullanılır?

  • Tip güvenliği sağlar
  • Cast (veri dönüştürme) ihtiyacını ortadan kaldırır
  • Daha okunabilir ve sürdürülebilir kod sağlar

2. Generic Sınıf Tanımlama

<T> ifadesi generic türü temsil eder. T yerine istediğiniz tür atanabilir.

public class Kutu {
    private T icerik;

    public void setIcerik(T icerik) {
        this.icerik = icerik;
    }

    public T getIcerik() {
        return icerik;
    }
}
public class Main {
    public static void main(String[] args) {
        Kutu kutu1 = new Kutu<>();
        kutu1.setIcerik("Merhaba");
        System.out.println(kutu1.getIcerik());

        Kutu kutu2 = new Kutu<>();
        kutu2.setIcerik(123);
        System.out.println(kutu2.getIcerik());
    }
}

3. Generic Metot Tanımlama

Generics sadece sınıflarda değil, metotlarda da kullanılabilir.

public class Araclar {
    public static  void yazdir(T veri) {
        System.out.println("Veri: " + veri);
    }

    public static void main(String[] args) {
        yazdir("Java");
        yazdir(42);
        yazdir(3.14);
    }
}

4. Koleksiyonlarda Generics Kullanımı

Java koleksiyon sınıfları generics destekler. Bu sayede listelere sadece belirli bir veri türü eklenebilir.

import java.util.ArrayList;

public class ListeOrnegi {
    public static void main(String[] args) {
        ArrayList isimler = new ArrayList<>();
        isimler.add("Ali");
        isimler.add("Ayşe");

        for (String isim : isimler) {
            System.out.println(isim);
        }
    }
}

5. Sınırlı Tür Parametreleri (Bounded Type Parameters)

Generic türlerin sadece belirli türleri kabul etmesi sağlanabilir.

public class Hesaplayici {
    public double topla(T a, T b) {
        return a.doubleValue() + b.doubleValue();
    }
}

6. Wildcard (Joker Karakter) Kullanımı

? karakteri bilinmeyen bir türü temsil eder. Özellikle metot parametrelerinde esneklik sağlar.

public void listeYazdir(List<?> liste) {
    for (Object eleman : liste) {
        System.out.println(eleman);
    }
}

Java generics yapısı, özellikle büyük ölçekli projelerde kod tekrarını azaltmak ve daha esnek yapılar oluşturmak için vazgeçilmezdir. Hem koleksiyonlarla çalışırken hem de kendi sınıflarınızı oluştururken generics kullanmak, tip güvenliğini artırır ve hata olasılığını azaltır.




Paylaş

Etiketler


Yorum Yok

    Bu Yazıya Hiç Yorum Yapılmamış. İlk Yorum Yapan Sen Ol !

Yorum Yap


Instagram