मैं एक सामान्य विधि है कि एक घिरे पैरामीटर कि Enum फैली लेता लिखने के लिए चाहते हैं उपयोग नहीं कर सकते। उदाहरण के लिए, अगर मैं एक Enum है इस प्रकार है:जेनेरिक विधि का विस्तार Enum पैरामीटर - मूल्यों() विधि
public enum InputFlags{
ONE (0000001),
TWO (0000002),
THREE (00000004);
public final int value;
InputFlags(int value){
this.value = value;
}
}
मैं तो निम्न कर सकते हैं:
for (InputFlags ifg : InputFlags.values()){
// Do something with ifg
}
लेकिन अगर मैं एक सामान्य विधि जिसका वापसी पैरामीटर घिरा है में ऊपर करने की कोशिश,
public static <T extends Enum> T getFlags(int f){
T.values(); // NOT allowed, even though I have bounded by extending Enum.
}
ऐसा लगता है जैसे कि मैं सामान्य विधि में values()
उपयोग नहीं कर सकते: मैं values()
विधि का उपयोग नहीं कर सकते हैं। क्या यह Enums की एक विशिष्टता है या इस के आसपास एक रास्ता है?
लगता है जैसे आप पुनर्रचना कर रहे हैं [ 'EnumSet'] (http://docs.oracle.com/javase/7/docs/api/java/util/EnumSet.html)। – Holger