CodeBlanks Logo Icon CodeBlanks

Generic metot

<T> ile generic metodu öğrenirsin.

Generic metot

Bir generic metot, kendi tür parametresine sahip metottur. Bildirim static <T> T identity(T value) { return value; } şeklinde yazılır; <T> dönüş türünden önce gelir. Çağrıda türü açıkça vermek gerekmez; derleyici argümandan çıkarım yapar.

Örneğin identity("Merhaba") çağrısı String döndürür, identity(42) çağrısı Integer döndürür. Aynı metot farklı türler için tip-güvenli çalışır. Generic metotlar generic olmayan sınıflarda da tanımlanabilir.

Tür çıkarımı

Java derleyicisi, generic metot çağrısında türü argümandan otomatik çıkarır. identity("Merhaba") yazdığında derleyici T'nin String olduğunu anlar; identity(42) yazdığında Integer olduğunu.

Açıkça belirtmek de mümkündür: Main.<String>identity("Merhaba"). Ancak çoğu durumda bu gereksizdir. Tür çıkarımı sayesinde kod kısa ve okunaklı kalır; yanlış tür verirsen yine derleme hatası alırsın.

Uygulama identity generic metodunu yaz

Bir identity generic metodu tanımla: static <T> T identity(T value) gövdesi return value; olsun. main içinde String s = identity("Merhaba"); ile çağır ve System.out.println(s); ile yazdır.

Başlangıç kodu

Main.java
// identity generic metodunu tanımla

// main: identity çağrısı ve println

Örnek çözüm

Main.java
public class Main {
    static <T> T identity(T value) {
        return value;
    }
    public static void main(String[] args) {
        String s = identity("Merhaba");
        System.out.println(s);
    }
}

Beklenen çıktı

Merhaba

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Generic metot kavramlarını eşleştir

Kavram Anlamı
<T> T identity(T) Generic metot imzası
T identity(T) Generic olmayan imza
return value Dönüş değeri
identity("Merhaba") Tür çıkarımıyla çağrı

2 Generic metotta <T> nerede yazılır?

  • Metot gövdesinin sonunda
  • Sınıf adından sonra
  • Dönüş türünden önce Doğru cevap
  • Parametre listesinin altında

Açıklama: <T> dönüş türünden önce gelir; örn. static <T> T identity(T value).

3 Generic metot bildirimini tamamla

Soru
static ____ T identity(T value) {
    return value;
}
Cevap
static <T> T identity(T value) {
    return value;
}

Açıklama: <T> metoda tür parametresi verir.

Orta seviye bölümündeki tüm dersler