解释此方法的返回类型:
protected <T> T getClientHolder(String holderName, Class<T> clazz)
我知道T
引用模板并引用他在参数中得到的类,但是在T之前<T>
的位置令人困惑。
答案 0 :(得分:3)
<T>
不是该方法的返回类型。这意味着泛型类型参数T
在方法getClientHolder()
中声明,并且只能由该方法使用。如果删除它,编译器会将该方法的返回类型T
视为普通标识符,并查找名为T
的类或接口。
如果T
是在包含该方法的类中声明的泛型类型参数,则无需在此方法中声明<T>
。
protected <T> T getClientHolder(String holderName, Class<T> clazz)
--- -
this is a this is the
declaration return type
of a generic of the method
type parameter