Java方法返回值前面的<T>是什么?

泛型方法:方法返回值前的<T>的左右是告诉编译器,当前的方法的值传入类型可以和类初始化的泛型类不同,也就是该方法的泛型类可以自定义,不需要跟类初始化的泛型类相同

image-20200901210208562

例子:

class Show<T> {
	public void print1(T t) {
		System.out.println(t);
	}

	public <T> void print2(T t) {
		System.out.println(t);
	}
}

public class Demo {
	public static void main(String[] args) {
		Show<String> show = new Show<String>();
		// print1中的泛型与show对象的泛型相同,都是String,因此不能传入Integer类型的参数。 
    show.print1(new Integer(1));
		// print2方法自定义了一个泛型T,因此方法参数类型不受对象泛型类型限制,这样定义的话这个方法是可以传入任意类型的参数的。
    show.print2(new Integer(1));
	}
}