Pasamos de las colecciones «crudas» a código con seguridad de tipos. En la lección vemos por qué, antes de la aparición de los genéricos, las colecciones basadas en
Object llevaban a errores en tiempo de ejecución (
ClassCastException), cómo los genéricos lo resuelven en tiempo de compilación, cómo leer y escribir construcciones como
List<String>,
Map<String, Integer>, qué es el «operador diamante»
<> y para qué sirve el borrado de tipos (type erasure). Además, ejemplos con clases genéricas propias y análisis de errores típicos.