Generische Methoden - thkwalter/physik GitHub Wiki
- Statische und nicht-statische Methoden sowie Konstruktoren können durch die Angabe eines oder mehrerer Typparameter in generische Methoden verwandelt werden.
- Generische Methoden ermöglichen die Verwendung von Typparametern in der Parameterliste und im Rückgabewert.
- Die Parametrisierung sollte so lokal wie möglich gehalten werden. Falls es möglich ist, sollte man daher eine generische Methode schreiben statt eine Klasse zu parametrisieren.
- Da statische Methoden nicht auf die Typparameter der umgebenden Klasse zugreifen können, werden statische Methoden besonders häufig als generische Methoden geschrieben,
-
Die Syntax schreibt vor, dass die Liste der Typparameter in spitze Klammern eingeschlossen werden muss. Dieses Konstrukt aus spitzen Klammern muss vor dem Konstruktornamen bzw. vor dem Rückgabewert in die Signatur eingefügt werden.
-
Folgende Beispiele für generische Methoden stammen aus der Klasse
java.util.Collections
public static final <T> List<T> emptyList() public static <T> List<T> singletonList(T o) public static <T> boolean replaceAll(List<T> list, T oldVal, T newVal)
-
Die vollständige Syntax zur Aufruf einer generischen Methode verdeutlicht das folgende Beispiel
Double d = 4.3; List<Double> doubeList = Collections.<Double>singeltonList(d);
-
Aufgrund der Typ-Deduktion des Compilers kann der Aufruf aber meist einfach folgendermaßen geschrieben werden
Double d = 4.3; List<Double> doubeList = Collections.singeltonList(d);