美好的一天SO人。我有一個關於返回枚舉的內部枚舉值的問題。我不知道使用哪種返回類型。我曾嘗試使用Google,但遇到了一些使用泛型的解決方案,但我仍然沒有運氣。我不知道我的問題是否有解決方案,或者我做了一個糟糕的設計。所以在這裏, 是我的枚舉。Java - 枚舉值的返回類型
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'。 –