Das einzig seltsame an generischen Methoden ist, das die Type Variable (hier T) vor dem return Typ der Methode deklariert werden muss.
Hier ein Beispiel mit der getKlassenname Methode, die für alle Objekte den Klassennamen als String zurück gibt.
public class GenericMethods {
public static < T > String getKlassenname(T t) {
return t.getClass().getName();
}public static void main(String[] args) {
System.out.println(GenericMethods.getKlassenname(new Integer(1)));
System.out.println(GenericMethods.getKlassenname("String"));
System.out.println(GenericMethods.getKlassenname(new ArrayList
()));
}
}
Wie sieht das Ergebnis aus?
java.lang.Integer
java.lang.String
java.util.ArrayList