可以定义一个带有类型参数的简单方法:
class ArrayAlg {
public static <T> T getMiddle(T...a) {
return a[a.length / 2];
}
}
泛型方法可以定义在普通类中,也可以定义在泛型类中。可以看到泛型方法一定要有类型参数,例如:
<T>
当调用一个泛型方法时,在方法名前的尖括号中放入具体的类型:
String middle = ArrayAlg.<String>getMiddle("John", "Q.", "Public");
在这种情况(实际也是大多数情况)下,方法调用中可以省略
String middle = ArrayAlg.getMiddle("John", "Q.", "Public");
几乎在大多数情况下,对于泛型方法的类型引用没有问题。偶尔,编译器也会提示错误:
double middle = ArrayAlg.getMiddle(3.14, 1729, 0);