ჯენერიკები საშუალებას გვაძლევს დავწეროთ კლასები და მეთოდები, რომლებიც პარამეტრიზებული არიან ტიპის მიხედვით, ასე რომ იგივე კოდი მუშაობს მრავალი ტიპთან, ხოლო კომპილაციის დროის ტიპის უსაფრთხოება შენარჩუნებული რჩება. ეს არის პარამეტრული პოლიმორფიზმი — "ერთი ფორმა, ნებისმიერი ტიპი".
პრობლემა, რომელსაც ისინი გადაჭრიან
();
list.add();
(String) list.get();
