Language Początkujący

Zastąp surowe typy kolekcji i rzutowania przy odczycie bezpieczeństwem typów w czasie kompilacji.

✕ 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);
Widzisz problem z tym kodem? Daj nam znać.
🔒

Bezpieczeństwo w czasie kompilacji

Nieprawidłowe typy elementów zawodzą podczas kompilacji, a nie w czasie działania.

🧹

Brak rzutowań przy odczycie

Wartości zachowują zadeklarowany typ elementu.

📖

Samodokumentujące się API

Deklaracje kolekcji dokładnie określają, co zawierają.

Stare podejście
Surowe kolekcje
Nowoczesne podejście
Kolekcje generyczne
Od JDK
5
Poziom trudności
Początkujący
Z surowych kolekcji do typów generycznych
Dostępne

Generyki są dostępne od JDK 5 (wrzesień 2004).

Surowe kolekcje akceptują dowolne typy obiektów i odkładają błędy typów do momentu wykonania rzutowania. Argumenty typu generycznego pozwalają kompilatorowi weryfikować zapisy i odczyty, eliminują rzutowania, poprawiają wsparcie IDE i czynią kontrakty API jawnymi. Surowe typy powinny normalnie pozostawać jedynie na starannie odizolowanych granicach interoperacyjności z kodem starszym.