public class Worker<T extends BaseDto> {
private T t;
ArrayList<T> getList() {
....
}
}
public class MyDTO extends BaseDto implements Serializable {
...
}
Worker<MyDTO> q = new Worker<MyDTO>();
Worker<MyDTO> q = new Worker<MyDTO>(); // this is fine
你提供的代码应该可以工作,我在这里试过了,它可以正常编译。
但是,这一行不会用Java编译:
Worker<BaseDto> dto = q; // this is not
因为Java中的泛型类型是不变的,这意味着list
和list
这两种类型是不兼容的,即使X或Y是彼此的子类型。在支持协方差的语言中,这一行将编译为MyDTO是basedto的子类型。
我得到一个错误:::绑定不匹配:类型MyClass1不是Person类型的有界参数的有效替代品
我正面临以下问题: “链”来自ViewModelHelper类定义 2) 2.1),->可以用替换 如果我将2.1)应用于1.1)&1.2),我们可以看到,参数T是一致的 从1)遵循从2)遵循,从2.1)遵循可以被替换,如果我正确理解,这个错误应该不会出现,有人能解释一下吗?为什么eclipse会给我这个错误? 谢谢!
我正在启动dropwizard示例应用程序,在此实现HelloWorldService。下面是我上的课。 但我犯了错误 绑定不匹配:TaskManagerConfiguration类型不能有效替代类型应用程序的绑定参数 和TaskManagerApplication.java
下面是一个通用搜索算法的实现: 接口: (方括号=弧形括号) 问题出在哪里?我想不通...对泛型参数T也进行了扩展。
这不起作用: “绑定不匹配:类型不能有效替代类型的有界参数”
应该如何声明“GenericBo Bo”实例?正确的代码是什么?