泛型之泛型方法

要定义泛型方法,只需将泛型参数列表置于返回值之前

package tuple;
/**
 * 泛型方法
 * 当使用泛型类时,必须在创建对象实例的时候指定类型参数的值
 * 而使用泛型方法的时候,通常不必指明参数类型,编译器会为我们找出具体的类型--->	类型参数推断  type argument inference
 * @author Youjie
 *
 */
public class Foo {
	/**
	 * 方法push 像被无限重载过一样,可以接受任何参数...
	 * @param target
	 */
	public <T> void push(T target){
		System.out.println(target);
	}
	
	public static void main(String[] args) {
		Foo foo = new Foo();
		
		foo.push(1);
		foo.push("字符串");
		foo.push(new Foo());
		foo.push(1.0F);
		foo.push(2L);
		foo.push(new Thread());
	}
}

注意:如果是静态的方法,必须要声明为泛型方法。因为他并不是在类实例化时才调用。

原文地址:https://www.cnblogs.com/leihuazhe/p/7900684.html