Language Principiante

Sustituye las colecciones sin tipo y los casts de recuperación por seguridad de tipos en tiempo de compilación.

✕ 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);
¿Ves un problema con este código? Cuéntanos.
🔒

Seguridad en tiempo de compilación

Los tipos de elemento inválidos fallan durante la compilación, no en tiempo de ejecución.

🧹

Sin casts de recuperación

Los valores conservan su tipo de elemento declarado.

📖

APIs autodocumentadas

Las declaraciones de colecciones indican exactamente qué contienen.

Enfoque Antiguo
Colecciones sin tipo
Enfoque Moderno
Colecciones genéricas
Desde JDK
5
Dificultad
Principiante
De colecciones sin tipo a tipos genéricos
Disponible

Los genéricos están disponibles desde JDK 5 (septiembre de 2004).

Las colecciones sin tipo aceptan cualquier tipo de objeto y posponen los errores de tipo hasta que se ejecuta un cast. Los argumentos de tipo genérico permiten que el compilador valide escrituras y lecturas, eliminen los casts, mejoren la asistencia del IDE y hagan explícitos los contratos de la API. Los tipos sin tipar deberían quedar reservados a puntos de interoperabilidad heredados cuidadosamente aislados.