为什么我在注释中使用泛型会出现此类错误?

时间:2017-10-25 07:31:31

标签: java generics annotations

我有这个注释:

public @interface ModelType {

    Class<? extends ValueFilter<?, ?>> value();

}

和这两个类:

public class UserIntermediateModel<T> implements ValueFilter<T, User> {
    // ...
}

public class UserModel extends UserIntermediateModel<User> {
    // ...
}

我可以将注释与value = UserModel.class一起使用,但不能与value = UserIntermediateModel.class一起使用:

incompatible types: Class<UserIntermediateModel> cannot be converted to Class<? extends ValueFilter<?,?>>

为什么会这样?

0 个答案:

没有答案