Generici vam omogućuju pisanje klasa, sučelja i metoda koja funkcioniraju sa parametrom tipa koji određuje pozivajući kod — pružajući sigurnost tipa tijekom kompajliranja i eliminirajući kastove. Oni omogućavaju Collections Framework i ponovno iskoristive biblioteke.
Problem koji generici rješavaju
();
list.add();
list.add();
(String) list.get();
List<String> list = <>();
list.add();
list.add();
list.get();
