Generiniai tipai leidžia rašyti klases ir metodus, parametrizuotus tipo, todėl tas pats kodas veikia su daugeliu tipų, išlaikan tipų saugumą kompiliavimo metu. Tai yra parametrinis polimorfizmas — "viena forma, bet koks tipas".
Išsprendžiama problema
();
list.add();
(String) list.get();
