Java 使用泛型的奇怪绑定mismtatch

Java 使用泛型的奇怪绑定mismtatch,java,generics,Java,Generics,我有: public abstract class HistorizableStatusEntity<S extends Status, O extends IdentifiedEntity> extends IdentifiedEntity public抽象类HistorizableStatusEntity扩展了标识性 具体实施: public class OrderStatusHistory extends HistorizableStatusEntity&l

我有:

public abstract class HistorizableStatusEntity<S extends Status, 
       O extends IdentifiedEntity> extends IdentifiedEntity
public抽象类HistorizableStatusEntity扩展了标识性
具体实施:

public class OrderStatusHistory extends HistorizableStatusEntity<OrderStatus, Order>
public class Order extends StatusableEntity<OrderStatusHistory, OrderStatus>
公共类OrderStatusHistory扩展了HistorizableStatusEntity
现在有:

public abstract class StatusableEntity<H extends HistorizableStatusEntity<S, IdentifiedEntity>, 
       S extends Status> extends IdentifiedEntity
公共抽象类StatusableEntity扩展了IdentifiedEntity
具体实施:

public class OrderStatusHistory extends HistorizableStatusEntity<OrderStatus, Order>
public class Order extends StatusableEntity<OrderStatusHistory, OrderStatus>
公共类顺序扩展StatusableEntity
java编译器说关于
顺序

绑定不匹配:类型OrderStatusHistory不是类型StatusableEntity的绑定参数的有效替代品

我不理解这一点,因为OrderStatusHistory扩展了
HistorizableStatusEntity>


有什么想法吗?蒂亚

StatusableEntity
需要类型
H extensed HistorizableStatusEntity
,而您提供的
OrderStatusHistory
扩展为
HistorizableStatusEntity
。正如您在这里看到的,正确的类型与
StatusableEntity
所期望的不匹配(
Order
IdentifiedIdentity
不匹配)

然后在
StatusableHistory
中使用边界。在您的代码片段中,您不允许使用
IdentifiedIdentity
的子类,您需要严格的类型匹配您所说的“边界”是什么意思?我的意思是绑定,比如
a扩展了B
谢谢。这就是问题所在。