0
public class GenericMethods {
public <T> void f(T x) {
System.out.println(x.getClass().getName());
}
public static void main(String[] args) {
GenericMethods gm = new GenericMethods();
gm.f("");
gm.f(1);
gm.f(1.0);
gm.f(1.0F);
gm.f('c');
gm.f(gm);
}
}
/* Output:
java.lang.String
java.lang.Integer
java.lang.Double
java.lang.Float
java.lang.Character
GenericMethods */
public <T> void f(T x)
是什麼意思?它是返回類型嗎?
但該函數實際上並沒有返回任何東西。它指的是什麼?我不能將它放在任何常規函數頭類別下:像acces-specifier,return-type等。方法定義中的類型參數<T>是什麼意思?
這是一個泛型類型參數,聲明該方法是通用的,就這些了。看到https://docs.oracle.com/javase/tutorial/java/generics/methods.html –