ITEEDU

泛型方法

是否拥有泛型方法,与其所在的类是否泛型没有关系。要定义泛型方法,只需将泛型参数列表置于返回值前。

使用泛型方法时,不必指明参数类型,编译器会自己找出具体的类型。泛型方法除了定义不同,调用就像普通方法一样。

需要注意,一个static方法,无法访问泛型类的类型参数,所以,若要static方法需要使用泛型能力,必须使其成为泛型方法。

public class ExampleA {
	public  void f(T x) {
		System.out.println(x.getClass().getName());
	}
	public static void main(String[] args) {
		ExampleA ea = new ExampleA();
		ea.f(" ");
		ea.f(10);
		ea.f('a');
		ea.f(ea);
	}
}

输出结果:

java.lang.String   
java.lang.Integer   
java.lang.Character