Generiky umožňují psát třídy a metody parametrizované typem, takže stejný kód funguje s mnoha typy a zároveň zachovává bezpečnost typů v čase překladu. Jde o parametrický polymorfismus — "jeden tvar, jakýkoliv typ".
Problém, který řeší
java
();
list.add();
(String) list.get();
