Generics

Was sind Generics in Java und wann/wo setzt man sie ein?

Generics ("Generizität", "generische Elemente") sind eher ein Thema für fortgeschrittene Java-Programmierer. Dennoch soll hier in Überblick über dieses Thema gegeben werden und geklärt werden, was man unter Generics in Java versteht und wie man diese Generics einsetzen kann.

Generell ist zu erwähnen, dass das Generic-Konzept in Java nicht einzigartig und in ähnlicher Form auch bei anderen Programmiersprachen unter anderen Bezeichnungen vorzufinden ist.

Mit Hilfe von Generics soll eine typsichere Programmierung gewährleistet werden. Dies geschieht dabei so, dass bei der Implementierung von einem unbekannte Typen einfach eine zusätzliche Variablen für diesen Typen eingeführt wird, die zu diesem Zeitpunkt stellvertretend für den unbekannten Typen steht. Erst bei der Verwendung der Klasse, Schnittstelle oder Methode, wird diese Typ-Variable durch den konkreten Typen ersetzt. Damit spart man sich redundante Implementierungen und der Compiler kann eine Typprüfung durchführen, mit dem Ergebnis, dass Programmierfehler schneller und frühzeitiger erkannt werden.

Nehmen wir einmal das Beispiel von generischen Listen. Möchte man eine Liste für Auto-Objekte erstellen, dann lautet die Syntax dafür:

List<Auto> autoListe = new LinkedList<Auto>();