方法定义中的类型参数<t>是什么意思?

时间:2016-10-27 08:32:28

标签: java

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等。

1 个答案:

答案 0 :(得分:1)

这是一个泛型类型参数。请参阅Oracle tutorial关于 Generics