java - 通用返回类型
问题描述
解释一下这个方法的返回类型:
protected <T> T getClientHolder(String holderName, Class<T> clazz)
我知道T
引用模板并引用他在其参数中获得的类,但<T>
在 T 之前的位置令人困惑。
解决方案
<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
推荐阅读
- .net - .Net Core 3.1 with SoapCore - 如何在 Docker 中运行它?
- r - R lapply 需要根据正在评估的值使用不同的输入
- python - 考夫曼的自适应移动平均 python 代码中的编译错误
- azure - 在 App Insights 中将查询固定到仪表板时出现问题
- nix - 如何使用 Nix 安装 RStudio?
- delphi - 使用消息通知 TFrames 他们应该刷新底层数据集
- excel - 执行直到循环 - 直到所有行都为空
- javascript - 快速路由 - 直接访问子/嵌套路径时防止 app.use('/') 顶级路径中间件执行
- c++ - 从 cin 获取 c++ 结构中多个枚举的输入
- java - JavaFx 13 - TableView 垂直滚动条处理程序返回 NullPointerException