मेरे पास कई enums हैं जो एक int द्वारा पाया जा सकता है। यह enum पर एक स्थिर विधि द्वारा किया जाता है। उदाहरण के लिए:इंटरफेस में स्टेटिक विधियां काम नहीं कर रही हैं, कई enums से विशिष्ट enum मूल्य कैसे प्राप्त करें?
enum Foo {
A, B, C, D, ... ;
public static Foo fromInt(int i) {
switch(i) {
case 15: return A;
case 42: return B;
...
}
}
enum Bar {
BLA, BOO, BEE, ... ;
public static Bar fromInt(int i) {
switch(i) {
case 78: return BLA;
case 22: return BOO;
...
}
}
...
अब कुछ कोड में मैं एक सामान्य प्रकार T
कि इन enums के होने की गारंटी है है और मैं एक पूर्णांक i
है। मैं fromInt
विधि को कैसे कॉल कर सकता हूं और मूल्य i
द्वारा enum का उदाहरण प्राप्त कर सकता हूं?
मैंने स्थिर विधि fromInt
के साथ एक इंटरफ़ेस बनाने का प्रयास किया है और enums इसे लागू करने दें, लेकिन स्थैतिक विधियां इंटरफेस में काम नहीं करती हैं।
मैं जावा 8.
प्रतिबिंब के बारे में क्या? –
तो आपके पास कहीं 'कक्षा 'चर है, है ना? क्या आप इस सामान्य प्रकार के साथ अपना कोड प्रदान कर सकते हैं? –
sp00m
क्या आप गारंटी देते हैं कि 'Foo' और' Bar' में 'int' मानों के सेट अलग हैं? – bradimus