我正在尝试为我的类创建一个通用接口,以满足它们的所有需求。我已经创建了基类来将它们链接在一起,但是我尝试创建的界面并没有像我期望的那样工作,而且我找不到正确的词来输入搜索以找到它们。
到目前为止的界面是:
public <T extends SDOBase> T entityToSDO(<? extends BaseEntity> entity, T sdo) throws Exception;
如何使实体成为第二种泛型类型?
尝试以这种方式声明您的方法:
public <T extends SDOBase, E extends BaseEntity> T entityToSDO(E entity, T sdo) throws Exception;
我认为你想要更多的东西:
public interface MyInterface<T extends SDOBase>
{
public T entityToSDO(<? extends BaseEntity> entity, T sdo) throws Exception;
}
您只需
public <T extends SDOBase> T entityToSDO(BaseEntity entity, T sdo) throws Exception;
任何作为 BaseEntity 子类型实例的东西都会自动成为 BaseEntity 的实例。