Generics ti permettono di scrivere classi, interfacce e metodi che funzionano con un type parameter specificato dal chiamante — fornendo type safety a tempo di compilazione e eliminando i cast. Alimentano il Collections Framework e le librerie riutilizzabili.
Il problema che i generics risolvono
();
list.add();
list.add();
(String) list.get();
List<String> list = <>();
list.add();
list.add();
list.get();
