Language Başlangıç

Ham koleksiyonlardan jenerik türlere

Ham koleksiyon türlerini ve alma sırasında yapılan cast işlemlerini derleme zamanı jenerik tür güvenliğiyle değiştirin.

✕ Java 1.4
List names = new ArrayList();
names.add("Duke");

String name = (String) names.get(0);
✓ Java 5+
List<String> names = new ArrayList();
names.add("Duke");

String name = names.get(0);
Bu kodda bir sorun mu gördünüz? Bize bildirin.
🔒

Derleme zamanı güvenliği

Geçersiz eleman türleri çalışma zamanında değil derleme sırasında başarısız olur.

🧹

Alma sırasında cast yok

Değerler bildirilen eleman türünü korur.

📖

Kendini belgeleyen API'ler

Koleksiyon tanımlamaları tam olarak neyi içerdiğini belirtir.

Eski Yaklaşım
Ham koleksiyonlar
Modern Yaklaşım
Jenerik koleksiyonlar
JDK'dan itibaren
5
Zorluk
Başlangıç
Ham koleksiyonlardan jenerik türlere
Mevcut

Jenerikler JDK 5'ten (Eylül 2004) beri kullanılabilir.

Ham koleksiyonlar herhangi bir nesne türünü kabul eder ve tür hatalarını bir cast çalıştırılana kadar erteler. Jenerik tür argümanları derleyicinin yazma ve okuma işlemlerini doğrulamasına, cast'leri ortadan kaldırmasına, IDE desteğini iyileştirmesine ve API sözleşmelerini açık hale getirmesine olanak tanır. Ham türler normalde yalnızca dikkatle izole edilmiş eski sistem birlikte çalışabilirlik sınırlarında kalmalıdır.