0

それらすべてを満たすクラスの汎用インターフェイスを作成しようとしています。それらをすべてリンクする基本クラスを作成しましたが、作成しようとしているインターフェイスが期待どおりに機能せず、それらを見つけるために検索に入力する正しい単語が見つかりません。

これまでのインターフェースは次のとおりです。

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

エンティティを 2 番目のジェネリック型にするにはどうすればよいですか?

4

3 に答える 3

2

Try declaring your method this way:

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

I think you want something more along the lines of:

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 に答える