Los genéricos te permiten escribir clases y métodos parametrizados por tipo, de modo que el mismo código funciona con muchos tipos mientras mantiene seguridad de tipos en tiempo de compilación. Esto es polimorfismo paramétrico — "una forma, cualquier tipo".
Por qué es importante
();
list.add();
(String) list.get();
