<t>通用返回类型

时间:2018-05-30 06:51:52

标签: java generics

解释此方法的返回类型:

 protected <T> T getClientHolder(String holderName, Class<T> clazz)

我知道T引用模板并引用他在参数中得到的类,但是在T之前<T>的位置令人困惑。

1 个答案:

答案 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