java - Java 不兼容类型:子类无法转换为父类
问题描述
在我的 java 代码中,我有一个通用父数据结构的实例,该实例使用通用子结构的新实例进行实例化。
private ParentHand<ParentCard> hand;
public Foo() {
// Java: Incompatible types: ParentHand<ParentCard>
// cannot be converted to ChildHand<ChildCard>();
hand = new ChildHand<ChildCard>();
}
父接口构造如下:
public interface ParentHand<T extends ParentCard> { ... }
public interface ParentCard extends Comparable<ParentCard> {...}
子接口构造如下:
public interface ChildHand<T extends ParentCard> implements ParentHand<T> { ... }
public interface ChildCard implements ParentCard { ... }
我相信由于多态性,上述内容应该有效。这是用Java 11编写的。为什么会Foo()
抛出这个错误?
解决方案
推荐阅读
- python - Selenium 中的 Instagram XPath 不起作用?(Python)
- javascript - 如何检查输入是否只包含0和1?
- elasticsearch - 编写一个查询而不是四个查询
- grails - Grails 2.4.4 与 Java 8 的兼容性
- python - 如何在临时目录中写入和读取 txt 文件?
- arrays - 将 JSON 列表对象解析为 Ruby 哈希
- python - 使用 pandas 应用多个过滤器
- python - 试图在列表中查找对象,但它不起作用
- asp.net-mvc - DNN 8.0 (DotNetNuke) 使用异步控制器,等待行为不如预期
- automation - Cypress.io 为出现两次的元素设置别名会为别名值添加一个空格