こんにちはSO人。私は、私のenumの内部enum値を返すことに関して問題があります。私は使用する戻り値の型がわかりません。私はグーグルで試してみましたが、いくつかのソリューションを使用してジェネリックを使用しましたが、まだ運がありません。私の質問に解決策があるかどうか、あるいは私が悪い設計をしたかどうかは分かりません。だからここに行く の下に私の列挙です。Javaの戻り値の型enum値
public enum KEYS
{
A("value"),
B("value"),
C("value");
public enum KEYS_GROUP_A
{
ITEM_A ("value"),
ITEM_B ("value"),
ITEM_C ("value");
private String value;
private KEYS_GROUP_A(String _value)
{
value = _value;
}
public String getVal()
{
return value;
}
}
public enum KEYS_GROUP_B
{
ITEM_A ("value"),
ITEM_B ("value"),
ITEM_C ("value");
private String value;
private KEYS_GROUP_B(String _value)
{
value = _value;
}
public String getVal()
{
return value;
}
}
public enum KEYS_GROUP_C
{
ITEM_A ("value"),
ITEM_B ("value"),
ITEM_C ("value");
private String value;
private KEYS_GROUP_C(String _value)
{
value = _value;
}
public String getVal()
{
return value;
}
}
private String value;
private PROPERTY_KEYS(String _value)
{
value = _value;
}
public String getVal()
{
return value;
}
public <?> getEnumValues(int x)
{
if (0 == x)
{
return KEYS.KEYS_GROUP_A.values();
}
else if (1 == x)
{
return KEYS.KEYS_GROUP_B.values();
}
else
{
return KEYS.KEYS_GROUP_C.values();
}
}
}
私がしようとしているのは、getEnumValues()
メソッドです。返品タイプ<T extends Enum<T>> T
を試しましたが、依然としてエラーが発生します。私のデザインが悪いのか、本当にやるべきでないのかを教えてください。いくつかの参考文献を述べてください。私は読んで喜んで学びます。光を当ててください!前もって感謝します!
「エラーが発生しました」はエラーの説明ではありません。スタックトレースがある場合は、それを投稿してください。コンパイルエラーがある場合は、エラーを転記してください。 – khelwood
コンストラクタをKEYS_GROUP_BおよびKEYS_GROUP_Cで監視します。 3つのネストされたすべての列挙体の名前がKEYS_GROUP_Aであるコンストラクタのコピー・ペースト・エラー。 PROPERTY_KEYS - それは何ですか?代わりにKEYSを意味しましたか? – Madhusudhan
'(0 == x)'はコンパイルされません。あなたは 'int'と' String'を比較しています。 –