我想做一个高度抽象的水平。我得到了
public abstract class CrudRepositoryDtoConverter<R extends CrudRepository<E, Integer>, E, D> implements CrudDTO<D>
我想将它用作另一个抽象类的父级
public abstract class AbstractController
我尝试了多次组合,没有成功,例如
public abstract class AbstractController<K extends CrudRepositoryDtoConverter<R extends CrudRepository<E, Integer>, E, D>> {
@Autowired
private K repository;
}
这一个无法编译,我没有找到泛型类型的语法,我错了吗?我的想法甚至可能吗?
答案 0 :(得分:4)
这是一个非常复杂的定义,但如果您确实需要它,可以按如下方式编写:
abstract class AbstractController<R extends CrudRepository<E, Integer>, E, D, K extends CrudRepositoryDtoConverter<R, E, D>> {
}
如您所见,R
,E
和D
必须声明为类AbstractController
的通用类型参数,以便您在{{K extends CrudRepositoryDtoConverter<R, E, D>
中引用它们1}}。