减少java泛型基类中的类型声明
Java中有没有办法不指定第二种类型(ID_类型)并将其用于我的泛型方法减少java泛型基类中的类型声明,java,generics,Java,Generics,Java中有没有办法不指定第二种类型(ID_类型)并将其用于我的泛型方法 public abstract class MyBaseClass<ENTITY extends Identifiable<ID_TYPE>, ID_TYPE extends Serializable 公共抽象类MyBaseClass因为可识别接受一个参数,可能是因为接口定义的某些方法使用类型作为参数类型或返回类型。在您的MyClass声明中,当您没有在MyBaseClass中声明ID\u type时,
public abstract class MyBaseClass<ENTITY extends Identifiable<ID_TYPE>, ID_TYPE extends Serializable
公共抽象类MyBaseClass因为可识别
接受一个
参数,可能是因为接口定义的某些方法使用类型
作为参数类型或返回类型。在您的MyClass
声明中,当您没有在MyBaseClass
中声明ID\u type
时,这些方法将使用什么类型?也许您的意思是使用classmybaseclass
。与其让TYPE
独立于ENTITY
,我们的目标是修复类型ID\u TYPE
,因为它在一个方法中使用,该方法将ID\u TYPE
作为参数findById(ID\u TYPE ID)
。我还尝试了公共可选findById(T ID){
但是即使是可序列化的
也是冗余声明的。在子类中重写该方法也更复杂。
public interface Identifiable<TYPE extends Serializable> extends Serializable {
public class MyClass extends MyBaseClass<SomeOtherClass>