Jeneriklerin Temelleri (T, tür çıkarımı)
Jenerik tür parametrelerini T , derleme zamanı güvenliği sağlamalarının nedenini ve elmas operatörünün türleri nasıl çıkardığını öğrenin.
Jeneriklerin Temelleri (T, tür çıkarımı), CoddyKit'te ücretsiz bir Java Academy dersidir. Bu, 3 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Java Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Java Academy kursu toplamda 3 dersten oluşur.
Jenerikler neden kullanılır?
Jenerikler, kapsayıcılara ve yardımcı araçlara tür bilgisi ekler; böylece derleyici sizi koruyabilir. Faydaları:
- Tür güvenliği — türlerin yanlışlıkla karıştırılmaması.
- Tür dönüşümü yok — daha temiz kod.
- Yeniden kullanılabilir — tek bir sınıf birçok türle çalışır.
T nedir?
T (tür parametresi), gerçek bir tür için yer tutucudur. Box<String> yazdığınızda derleyici, bu kullanımın içinde T'yi String olarak ele alır.
Kod: Box<T>
Box<T>: T yerine String verdiğinizde yalnızca String kabul edilir. Yanlış tür, derleme zamanı hatasıdır; çalışma zamanında sürpriz yaşanmaz.
public class Main {
// A tiny generic container
static class Box<T> {
private T value;
void set(T v) { value = v; }
T get() { return value; }
}
public static void main(String[] args) {
Box<String> bs = new Box<String>(); // T becomes String
bs.set("hello");
System.out.println(bs.get()); // no cast needed
// Box<Integer> bi = new Box<Integer>();
// bi.set("oops"); // would not compile: String is not Integer
}
}
Kod: elmas çıkarımı
<> (elmas gösterimi) ile derleyici sağ taraftaki türü çıkarır. Soldaki türle uyumlu değilse derleme başarısız olur; bu da tür güvenliği sağlar.
public class Main {
static class Box<T> {
private T value;
Box() {}
Box(T v) { value = v; }
T get() { return value; }
}
public static void main(String[] args) {
// Type on the left, diamond on the right — compiler infers T
Box<Integer> a = new Box<>(123);
Box<String> b = new Box<>("hi");
System.out.println(a.get() + 1); // 124
System.out.println(b.get().toUpperCase());
}
}
Sınırlandırılmış tür parametreleri
Sınırlar: Bazı jenerik metotlar karşılaştırılabilir gibi bir yetenek gerektirir. Örneğin, <T extends Comparable<T>> ifadesi T'nin karşılaştırılabilir olması gerektiği anlamına gelir.
Kod: sınırlandırılmış jenerik metot
Jenerik metot: <T extends Comparable<T>>. Tamsayı ve String türleri uyumludur; çünkü ikisi de karşılaştırılabilir arayüzünü uygular.
public class Main {
// Generic method: works for any Comparable type
static <T extends Comparable<T>> T min(T a, T b) {
return (a.compareTo(b) <= 0) ? a : b;
}
public static void main(String[] args) {
System.out.println(min(3, 7)); // Integer
System.out.println(min("apple", "banana")); // String (lexicographic)
}
}
Jeneriklerin temelleri kontrolü
Hızlı kontrol: Box<String> gibi jenerikleri kullanmanın temel faydası nedir?
Özet
Özet: T bir yer tutucudur; türü elmas gösterimiyle çıkarılır. Sınırlandırmalar (extends Comparable) sayesinde jenerik metotları güvenli ve güçlü hâle getiririz.
Sıkça Sorulan Sorular
“Jeneriklerin Temelleri (T, tür çıkarımı)” dersi ücretsiz mi?
Evet — “Jeneriklerin Temelleri (T, tür çıkarımı)” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Java Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Java Academy kursu toplamda 3 dersten oluşur.
“Jeneriklerin Temelleri (T, tür çıkarımı)” dersinde ne öğreneceğim?
Jenerik tür parametrelerini T , derleme zamanı güvenliği sağlamalarının nedenini ve elmas operatörünün türleri nasıl çıkardığını öğrenin. Java Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Java Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Java Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 2. dersidir.
“Jeneriklerin Temelleri (T, tür çıkarımı)” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Java Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Java Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Uygulamada Arayüzler
- Jeneriklerin Temelleri (T, tür çıkarımı)
- Jenerik Yöntemler/Sınıflar