4

だから私はすべてインターフェースを拡張する一連の列挙型を持っています:

public interface MyInterface {}

次に、インターフェイスを拡張するいくつかの列挙型があります。

public enum A implements MyInterface {}

public enum B implements MyInterface {}

このインターフェイスを拡張する列挙型のみを受け入れる関数が必要です。できない:

public void MyFunction(MyInterface input)

関数内で、EnumSet.of(input) を使用して EnumSet を作成するためです。私にはできない

public <T extends Enum<T>> void myFunction(T input)

関数内で、別の関数に渡す必要がある Map を作成する必要があるためです。キャストなしでこれを行うタイプセーフな方法はありますか?

編集: インターフェイス定義を修正しました。

4

1 に答える 1