1

私はこのインターフェースを持っています:

public interface CrudRepository<T, I> {

}

ただし、これらのメソッドは衝突するため追加できません。

boolean remove(final T object);

boolean remove(final I id);

これを修正することは可能ですか?T は型で、I は id 型です。

4

1 に答える 1

3

T と I が特定の型階層によって制約されることを知っていますか? その場合、これを使用できます。

class Myclass<K extends ClassA ,V extends ClassB>
{
    private void remove(K k){}
    private void remove(V V){}
}

@Lucianoにも同意します。可能な限りあいまいさを取り除きます。コードの可読性が向上します。

于 2013-04-13T14:53:10.727 に答える