Java 泛型方法无法正确识别类型

Java 泛型方法无法正确识别类型,java,generics,Java,Generics,我有一个类,其成员定义为: Map<Class<? extends Model>, List<? extends Model>> mockStore; Map您的mockStore具有List您的成员声明说mockStore的值将是包含模型的未指定子类*的列表 insertMockStore方法的作用类似,但不能保证传递给insertMockStore的Model的子类与列表相同 相反,您应该这样声明mockStore: Map<Class<?

我有一个类,其成员定义为:

Map<Class<? extends Model>, List<? extends Model>> mockStore;

Map您的
mockStore
具有
List您的成员声明说
mockStore
的值将是包含
模型的未指定子类*的列表

insertMockStore
方法的作用类似,但不能保证传递给
insertMockStore
Model
的子类与列表相同

相反,您应该这样声明
mockStore

Map<Class<? extends Model>, List<Model>> mockStore;

MapI知道我会错过一些简单的事情。谢谢你的意见!但我认为OP需要他们generic@GingerHead在给出的例子中没有。通常在这些元素类型与键匹配的情况下,最终使用擦除并在方法中强制执行。
private final Map<Class, List> mockStore;

@SuppressWarning("unchecked")
protected void insertMockStore(Model obj) {
    mockStore.get(obj.getClass()).add(obj);
}
Map<Class<? extends Model>, List<Model>> mockStore;