抽象モデルのクラスをキーとして保持し、モデルのインスタンスを値として保持する HashMap を作成しました。私はそれに追加することはできないようです。私が HashMap に入れているものが実際には Model インスタンスのサブクラスであることを理解するほど、Java はスマートではないようです。
abstract public class EntityManager<AbstractModel> {
@Inject
protected static Injector injector;
private HashMap<Class<? extends AbstractModel>, AbstractModel> models = new HashMap<Class<? extends AbstractModel>, AbstractModel>();
public void register(final AbstractModel model) {
models.put(model.getClass(), model); // <-- the problem
}
public AbstractModel get(Class<? extends AbstractModel> Class) {
AbstractModel model = models.get(Class);
if (model == null) {
throw new RuntimeException("Attempting to retrieve an unregistered model.");
} else {
return model;
}
}
}
Class<? extends Object>
IntelliJは、代わりに追加しようとしていると言っていますClass<? extends Model>