前面讲了泛型类的定义,你也可以在一个普通类中单单定义一个泛型方法。也就是说类能够带个类型参数,方法也可以带类型参数的。还是来看个例子(包括如何应用),一个获得数组中间元素的方法,因为数组中存储元素的类型是不定的,所以把该方法定义成泛型的。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
package com.unmi; /** * 泛型方法示例 * @author Unmi */ public class ArrayAlg { //这个就是在普通类 ArrayAlg 中定义的泛型方法 public static <T> T getMiddle(T[] a){ return a[a.length/2]; } public static void main(String[] args) { String[] names = {"Fantasia","Unmi","Kypfos"}; //String middle = ArrayAlg.<String>getMiddle(names); //上面那样写是可以,编译器可推断出要调用的方法,所以省去<String> String middle = ArrayAlg.getMiddle(names); System.out.println(middle); } } |