我有一个使用一个枚举的方法:
mymethod(AnotherClass.MyEnum.PassedEnum);
我想窝这个接收一个String类中的哪成为MyEnum:
public static void method(String toPass){
mymethod(AnotherClass.toPass.PassedEnum);
}
传递的变量必须是一个字符串,但我需要将它转换为Enum传递给AnotherClass?
TIA
我有一个使用一个枚举的方法:
mymethod(AnotherClass.MyEnum.PassedEnum);
我想窝这个接收一个String类中的哪成为MyEnum:
public static void method(String toPass){
mymethod(AnotherClass.toPass.PassedEnum);
}
传递的变量必须是一个字符串,但我需要将它转换为Enum传递给AnotherClass?
TIA
使用AnotherClass.MyEnum.valueOf(toPass)
你的意思是像...
MyEnum e = MyEnum.valueOf(text);
或
MyEnum e = Enum.valueOf(MyEnum.class, text);
我觉得静态工厂方法Enum.valueOf()
你想要做什么。
尝试在method
身体这样做:
AnotherClass.toPass.PassedEnum.valueOf(toPass);
您可以使用Enum.valueOf(Class<...>, String)
将字符串转换为相应的枚举实例:
MyEnum value = Enum.valueOf(MyEnum.class, "ENUM_VALUE");
如果字符串包含没有值作为枚举常量存在,此方法将引发IllegalArgumentException
。
public static void method(String toPass){
mymethod(AnotherClass.MyEnum.valueOf(toPass));
}
您可以使用静态方法Enum.valueOf
将字符串转换为枚举值:
public static void method(String toPass)
{
AnotherClass.MyEnum eval = Enum.valueOf(AnotherClass.MyEnum.class,toPass);
mymethod(eval);
}
感谢所有需要什么。 –