在接口中创建两个通用参数

时间:2012-05-25 17:57:40

标签: java generics interface

我正在尝试为我的类创建一个通用接口,以满足所有这些需求。我已经创建了基类来将它们全部链接在一起,但我正在尝试创建的界面不像我期望的那样工作,我无法找到正确的单词进入搜索以找到它们。

目前的界面是:

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

如何将实体设为第二种通用​​类型?

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

你只需要

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

任何BaseEntity子类型的实例都会自动成为BaseEntity的一个实例。