Enumを継承する制限付きのパラメータをとる汎用メソッドを記述したいと思います。例えば、私は列挙型を持っている場合は、次のように:バインドされたエクステンションを持つ汎用メソッドEnumパラメータ - values()メソッドにアクセスできない
public enum InputFlags{
ONE (0000001),
TWO (0000002),
THREE (00000004);
public final int value;
InputFlags(int value){
this.value = value;
}
}
は、私はその後、次の操作を行うことができます。
しかし、私はそのリターンパラメータ囲まれている一般的な方法で上記を実行しようとすると、私は一般的な方法でvalues()
にアクセスすることができないかのように
public static <T extends Enum> T getFlags(int f){
T.values(); // NOT allowed, even though I have bounded by extending Enum.
}
それはそうです:私はvalues()
メソッドにアクセスすることはできません。これはEnumsの特異なのですか、それともこれの道でしょうか?
ようです。 – Holger