java泛型怎么理解?求指教

java泛型中,定义泛型方法格式:public T fun(T t),这几个T分别是什么意思? 我知道最后一个T是参数,那前面两个T表示什么?哪个表示返回类型?

类比一下: public int fun(int t),这个可以理解把,最前面那个T是这个方法的返回类型是T,第二个T指的是你这个fun方法里面传入参数的类型也是T,就这么理解

最前面的第一个T表示对象的名称