我想做一个高抽象层次。我得到了
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;
}
这个无法编译,我没有找到泛型类型的语法,我错了吗?我的想法是否可行?
最佳答案
这是一个非常复杂的定义,但是如果你真的需要它,你可以这样写:
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>
中引用它们.
关于java - 向使用泛型扩展父级的子级添加更多泛型类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45710007/