java - xyz 不在类型变量 T 的范围内

标签 java generics type-variables

我有以下类(class):

public class Blub extends AbstractPreloadDefinition<AddressmasterModel>

javac 编译器给我以下错误:

Error:(15, 79) java: type argument AddressmasterModel is not within bounds of type-variable T

AbstractPreloadDefinition 如下所示:

abstract class AbstractPreloadDefinition<T extends PersistedEntity<?>> implements PreloadDefinition<T>

AddressmasterModel 如下所示:

public abstract class AddressmasterModel<V extends VoucherModel> implements Serializable, Auditable, PersistedEntity<Integer>, Comparable<AddressmasterModel<V>> 

因此,AddressmasterModel 实现了 PersistedEntity。错误在哪里?我找不到它:/

我使用 IntelliJ 2017.1javac 作为编译器。如果我切换到 eclipse 作为编译器,这个错误就消失了......

最佳答案

我认为你需要扩展 PersistedEntity<Something>而不是 PersistedEntity .这有效:

class Blub extends AbstractPreloadDefinition<AddressmasterModel<VoucherModel>>

关于java - xyz 不在类型变量 T 的范围内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43185264/

相关文章:

haskell - 约束的类型别名不与上下文共享相同的变量绑定(bind)行为

types - 定义对类型而非值进行操作的 Swift 函数

haskell - ScopedTypeVariables 不会将类型变量带入作用域

java - Lombok + QueryDsl + Mapstruct : error compiling: java. lang.NoClassDefFoundError : javax/persistence/Entity: javax. persistence.Entity

java - 尝试在 forEach 方法中返回某些内容时,Void 方法无法返回值错误

c# - 使用泛型类型 BaseUser 时出错需要 1 个参数

swift - Swift 泛型类型可以在初始时推断出来吗?

java - Java 中 MS Excel 的 Linest 函数

java - 告诉 Datastax Java Cassandra 驱动程序超时集群连接

java - 为什么<? extends V> 不适用于 ComparisonByValue 方法?