Language Einsteiger

Rohe Collection-Typen und Downcasts durch generische Typsicherheit zur Kompilierzeit ersetzen.

✕ 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);
Problem mit diesem Code entdeckt? Sag uns Bescheid.
🔒

Sicherheit zur Kompilierzeit

Ungültige Elementtypen schlagen bereits beim Kompilieren fehl, nicht erst zur Laufzeit.

🧹

Keine Downcasts

Werte behalten ihren deklarierten Elementtyp.

📖

Selbsterklärende APIs

Collection-Deklarationen geben genau an, was sie enthalten.

Alter Ansatz
Rohe Collections
Moderner Ansatz
Generische Collections
Seit JDK
5
Schwierigkeitsgrad
Einsteiger
Rohe Collections zu generischen Typen
Verfügbar

Generics sind seit JDK 5 (September 2004) verfügbar.

Rohe Collections akzeptieren beliebige Objekttypen und verschieben Typfehler bis zur Ausführung eines Casts. Generische Typargumente lassen den Compiler Schreib- und Lesezugriffe prüfen, entfernen Casts, verbessern die IDE-Unterstützung und machen API-Verträge explizit. Rohe Typen sollten normalerweise nur an sorgfältig isolierten Altsystem-Schnittstellen verbleiben.