2011-11-21 32 views
6

Duplicar posible:
Java - Convert String to enumConvertir cadena a Enum?

tengo un método que utiliza una enumeración:

mymethod(AnotherClass.MyEnum.PassedEnum); 

Y quiero nido esto dentro de una clase que recibe una cadena que se convierte en MyEnum:

public static void method(String toPass){ 

mymethod(AnotherClass.toPass.PassedEnum); 

} 

La variable pasada debe ser un String pero necesito convertirlo a un Enum para pasar a AnotherClass?

TIA

+0

Gracias a todos justo lo que necesitaba. –

Respuesta

8

Uso AnotherClass.MyEnum.valueOf(toPass)

9

¿Te refieres a ...

MyEnum e = MyEnum.valueOf(text); 

o

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

creo que el método de fábrica estática Enum.valueOf() hace lo que quiere.

2

Trate de hacer esto en el cuerpo de method:

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

Usted puede utilizar Enum.valueOf(Class<...>, String) para convertir una cadena a la instancia correspondiente enumeración:

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

Si la cadena contiene un valor que no lo hace existe como una constante enum, este método arroja IllegalArgumentException.

2
public static void method(String toPass){ 

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

} 
2

Se puede utilizar el método estático Enum.valueOf para convertir una cadena a un valor de enumeración:

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