2011-11-21 14 views
6

संभव डुप्लिकेट:
Java - Convert String to enumस्ट्रिंग को एनम में कनवर्ट करें?

मैं एक विधि एक enum का उपयोग करता है:

mymethod(AnotherClass.MyEnum.PassedEnum); 

और मैं इस एक वर्ग है कि एक स्ट्रिंग प्राप्त करता है के भीतर घोंसला करना चाहते हैं जो MyEnum बन जाता है:

public static void method(String toPass){ 

mymethod(AnotherClass.toPass.PassedEnum); 

} 

पारित चर को एक स्ट्रिंग होना चाहिए, लेकिन मुझे इसे किसी अन्य क्लास को पास करने के लिए एनम में परिवर्तित करने की आवश्यकता है?

TIA

+0

सब सिर्फ क्या जरूरत थी के लिए धन्यवाद। –

उत्तर

9

MyEnum e = MyEnum.valueOf(text); 

या

MyEnum e = Enum.valueOf(MyEnum.class, text); 
2

मुझे लगता है कि स्थिर कारखाने विधि करता Enum.valueOf() आप क्या चाहते हैं आप की तरह मतलब है ...।

2

method के शरीर में ऐसा करने का प्रयास करें:

AnotherClass.toPass.PassedEnum.valueOf(toPass); 
2

आप Enum.valueOf(Class<...>, String) उपयोग कर सकते हैं इसी enum उदाहरण के लिए एक स्ट्रिंग परिवर्तित करने के लिए:

MyEnum value = Enum.valueOf(MyEnum.class, "ENUM_VALUE"); 

स्ट्रिंग जो ऐसा नहीं करता एक मूल्य के हैं, तो एक enum स्थिर के रूप में मौजूद है, यह विधि IllegalArgumentException फेंकता है।

2
public static void method(String toPass){ 

mymethod(AnotherClass.MyEnum.valueOf(toPass)); 

} 
2

आप एक Enum मूल्य के लिए एक स्ट्रिंग परिवर्तित करने के लिए स्थिर विधि Enum.valueOf उपयोग कर सकते हैं:

public static void method(String toPass) 
{ 
    AnotherClass.MyEnum eval = Enum.valueOf(AnotherClass.MyEnum.class,toPass); 
    mymethod(eval); 
} 
संबंधित मुद्दे