だから私はすべてインターフェースを拡張する一連の列挙型を持っています:
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 を作成する必要があるためです。キャストなしでこれを行うタイプセーフな方法はありますか?
編集: インターフェイス定義を修正しました。