java - 为什么在静态泛型方法的返回类型之前需要类型参数
问题描述
以下noGood
方法会产生编译错误,因为它在返回类型之前省略了形式类型参数T
。
public static T noGood(T t) {
return t;
}
有人可以帮我理解为什么静态泛型方法需要在返回类型之前有一个类型参数吗?非静态方法不需要吗?
解决方案
实例化类T
时声明类型参数 ( )。因此,实例方法不需要类型参数,因为它是由实例定义的。
static
另一方面,方法不属于实例——它们属于类。由于没有实例可以从中获取类型信息,因此必须为方法本身指定它。
推荐阅读
- javascript - Javascript Jquery 问题,向滚动阻塞添加了非被动事件侦听器
事件 - apache-kafka-connect - 分布模式下的 Kafka 连接行为
- parallel-processing - 在 CCI 上并行运行测试的问题
- anylogic - 如何从 ResourcePool 获取最近的资源到特定站点?
- google-chrome - 在 Google Chrome 中模拟网络摄像头
- node.js - 在 Angular 项目根目录中发出 npm install 命令时引擎不受支持
- postgresql - RDS postgres - 将分区表复制到另一个 RDS postgres
- reactjs - 部署后反应应用程序环境变量未定义
- node.js - DigitalOcean App Platfrom 上的传出 SFTP 超时
- gitlab - GitLab 集成/webhook