2011-11-21 26 views
6

Powiel możliwe:
Java - Convert String to enumKonwertuj ciąg na wyrażenie?

Mam metodę wykorzystującą ENUM:

mymethod(AnotherClass.MyEnum.PassedEnum); 

I chcę gniazdo to w klasie, która odbiera ciąg, który staje się MyEnum:

public static void method(String toPass){ 

mymethod(AnotherClass.toPass.PassedEnum); 

} 

Podana zmienna musi być łańcuchem, ale muszę ją przekonwertować na Enum, aby przejść do AnotherClass?

TIA

+0

Dziękujemy wszystkim, tylko to, co było potrzebne. –

Odpowiedz

8

Zastosowanie AnotherClass.MyEnum.valueOf(toPass)

9

Czy to znaczy jak ...

MyEnum e = MyEnum.valueOf(text); 

lub

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

Spróbuj zrobić to w ciele method:

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

Można wykorzystać Enum.valueOf(Class<...>, String) przekonwertować ciąg do analogicznego enum przykład:

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

Jeśli ciąg zawiera wartość, która nie istnieje jako stała wyliczeniowa, ta metoda wyrzuca IllegalArgumentException.

2
public static void method(String toPass){ 

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

} 
2

Można użyć metody statycznej Enum.valueOf przekonwertować ciąg wartości ENUM:

public static void method(String toPass) 
{ 
    AnotherClass.MyEnum eval = Enum.valueOf(AnotherClass.MyEnum.class,toPass); 
    mymethod(eval); 
}