java - 向使用泛型扩展父级的子级添加更多泛型类型

标签 java generics

我想做一个高抽象层次。我得到了

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 , ED必须声明为类的通用类型参数 AbstractController以便您在 K extends CrudRepositoryDtoConverter<R, E, D> 中引用它们.

关于java - 向使用泛型扩展父级的子级添加更多泛型类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45710007/

相关文章:

java.lang.ClassNotFoundException : org. json.JSONException

java - 为什么 while 循环在 java 和 c 中的工作方式不同

c# - 为什么通用类型定义实现的接口(interface)会丢失类型信息?

java - Java中如何使用通配符作为局部变量的类型?

c# - 使用泛型实现类型安全的枚举模式

java - 在Java中验证Http请求的方法?

java - 如何检测文本中使用了哪种Apple Emoji?

java - 如何让 java gui 从一个 gui 转换到另一个 gui

typescript - 我如何定义将键映射到该键的泛型的类型,例如Record<K, SomeGeneric<key>>?

Java:获取泛型类的 Class<T> 对象