Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 向使用泛型扩展父级的子级添加更多泛型类型_Java_Generics - Fatal编程技术网

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

Java 向使用泛型扩展父级的子级添加更多泛型类型,java,generics,Java,Generics,我想做一个更高的抽象层次。我得到 public abstract class CrudRepositoryDtoConverter<R extends CrudRepository<E, Integer>, E, D> implements CrudDTO<D> 我尝试了多次组合,但没有成功 public abstract class AbstractController<K extends CrudRepositoryDtoConverter<

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

public abstract class CrudRepositoryDtoConverter<R extends CrudRepository<E, Integer>, E, D> implements CrudDTO<D>
我尝试了多次组合,但没有成功

public abstract class AbstractController<K extends CrudRepositoryDtoConverter<R extends CrudRepository<E, Integer>, E, D>> {
    @Autowired
    private K repository;

}
公共抽象类AbstractController{
@自动连线
私有K库;
}

这个不能编译,我找不到泛型类型的语法,我错了吗?我的想法可能吗?

这是一个非常复杂的定义,但是如果你真的需要它,你可以这样写:

abstract class AbstractController<R extends CrudRepository<E, Integer>, E, D, K extends CrudRepositoryDtoConverter<R, E, D>> {

}
抽象类抽象控制器{
}

如您所见,
R
E
D
必须声明为类
AbstractController
的泛型类型参数,以便您在
K extends crudepositorydtoconverter
中引用它们。您需要定义E,R和Du表示如何简化
公共类ActivityController扩展AbstractController
我需要为每个控制器添加基本的CRUD方法,但需要4个泛型类型。。lmao@Romain我不知道。根据你发布的小片段很难回答。@Romain我不确定。也许你应该发布一个新的。在你已经得到原始问题的答案之后,再对问题进行大的修改不是一个好主意。@Romain对不起,我现在没有时间聊天。
abstract class AbstractController<R extends CrudRepository<E, Integer>, E, D, K extends CrudRepositoryDtoConverter<R, E, D>> {

}