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

Gar*_*lon 3 java generics type-variables

我有以下课程:

public class Blub extends AbstractPreloadDefinition<AddressmasterModel>
Run Code Online (Sandbox Code Playgroud)

javac编译器给我以下错误:

错误:(15,79)java:type参数AddressmasterModel不在类型变量T的范围内

AbstractPreloadDefinition 看起来如下:

abstract class AbstractPreloadDefinition<T extends PersistedEntity<?>> implements PreloadDefinition<T>
Run Code Online (Sandbox Code Playgroud)

并且AddressmasterModel看起来如下:

public abstract class AddressmasterModel<V extends VoucherModel> implements Serializable, Auditable, PersistedEntity<Integer>, Comparable<AddressmasterModel<V>> 
Run Code Online (Sandbox Code Playgroud)

所以,AddressmasterModel实现PersistedEntity.哪里出错?我找不到:/

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

小智 5

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

class Blub extends AbstractPreloadDefinition<AddressmasterModel<VoucherModel>>
Run Code Online (Sandbox Code Playgroud)