泛型不仅仅可以用于类定义, 同样可以用于方法, 特别的, 因为static方法不能使用类定义的泛型, 所以只能用泛型方法来实现泛型, 泛型方法只需要在方法的返回值定义前加上泛型声明就可以,下边是一个方法的示例.
package com.cnsuning.src;
import java.lang.reflect.*;
import java.util.*;
public class Main {
public static void main(String[] args) {
Robot r = new Robot();
r.eat("rabbit", "leaf");
}
}
class Robot{
public <T,A>void eat(T food1, A food2){
System.out.println("robot eat 2 foods,a is "+food1+",b is "+food2);
}
}
调用方法泛型时不需要做类型指定, 编译器会自动对参数或返回值类型进行匹配和适应. 这种特性叫做类型推断.