java - Java 泛型参数
问题描述
我对这种情况有疑问:
public abstract class Commune<T> {
public abstract <T> void putSettlement(T settlement);
}
public class UrbanCommune() extends Commune{
private Cities cities = new Cities();
@Override
public void putSettlement(City city) {
cities.put(City city);
}
}
我现在正在学习泛型,所以我不明白为什么它不起作用......我该如何管理它?
解决方案
正如T
定义为整个类的泛型一样,您也不必为方法定义它:
public abstract class Commune<T> {
public abstract void putSettlement(T settlement);
}
你必须这样定义你的类,指定类中的内容T
(并删除它()
!):
public class UrbanCommune extends Commune<City>{
private Cities cities = new Cities();
@Override
public void putSettlement(City city) {
cities.put(City city);
}
}
推荐阅读
- php - 为什么从 cmd 运行 php 邮件功能时出现错误
- oracle-apex - Oracle Apex 根据每个组的现有数据自动填充表单
- javascript - 为什么 node-fetch 与 oauth2 身份验证有问题
- javascript - DP 解决方案未正确缓存 - 输入为 ~70 时出现超时错误
- python - 带有元组键的 msgpack 字典
- javascript - 为什么直接来自父组件的 onChange func 与通过组件的实例方法代理会导致不同的状态值?
- delphi - 如何使用 SynPdf 将新文本添加到先前添加的页面中
- python - 在python3中将十六进制字符串转换为字符
- go - 编写测试以检查运行时错误
- sql-server - 使用 EclipseLink、SQL Server 和 spring 数据进行分页