0

我正在尝试为我的类创建一个通用接口,以满足它们的所有需求。我已经创建了基类来将它们链接在一起,但是我尝试创建的界面并没有像我期望的那样工作,而且我找不到正确的词来输入搜索以找到它们。

到目前为止的界面是:

public <T extends SDOBase> T entityToSDO(<? extends BaseEntity> entity, T sdo) throws Exception;

如何使实体成为第二种泛型类型?

4

3 回答 3

2

尝试以这种方式声明您的方法:

public <T extends SDOBase, E extends BaseEntity> T entityToSDO(E entity, T sdo) throws Exception;
于 2012-05-25T18:02:17.127 回答
0

我认为你想要更多的东西:

public interface MyInterface<T extends SDOBase>
{
    public T entityToSDO(<? extends BaseEntity> entity, T sdo) throws Exception;
}
于 2012-05-25T18:01:44.503 回答
0

您只需

public <T extends SDOBase> T entityToSDO(BaseEntity entity, T sdo) throws Exception;

任何作为 BaseEntity 子类型实例的东西都会自动成为 BaseEntity 的实例。

于 2012-05-25T22:02:24.780 回答