Generiikka mahdollistaa luokkien ja metodien kirjoittamisen tyypillä parametrisoituina, joten sama koodi toimii monien tyyppien kanssa samalla säilyttäen käännösajan tyyppiturvaisuuden. Tämä on parametrinen polymorfismi — "yksi muoto, mikä tahansa tyyppi."
Ongelma, jonka ne ratkaisevat
();
list.add();
(String) list.get();
