将字符串转换为枚举? [复制]
Posted
技术标签:
【中文标题】将字符串转换为枚举? [复制]【英文标题】:Convert String to Enum? [duplicate] 【发布时间】:2012-01-03 01:06:34 【问题描述】:可能重复:Java - Convert String to enum
我有一个使用枚举的方法:
mymethod(AnotherClass.MyEnum.PassedEnum);
我想将它嵌套在一个接收字符串的类中,该字符串变成 MyEnum:
public static void method(String toPass)
mymethod(AnotherClass.toPass.PassedEnum);
传递的变量必须是字符串,但我需要将其转换为枚举以传递给 AnotherClass?
TIA
【问题讨论】:
感谢大家所需要的。 【参考方案1】:你的意思是...
MyEnum e = MyEnum.valueOf(text);
或
MyEnum e = Enum.valueOf(MyEnum.class, text);
【讨论】:
【参考方案2】:我认为静态工厂方法Enum.valueOf()
可以满足您的需求。
【讨论】:
【参考方案3】:尝试在 method
的正文中执行此操作:
AnotherClass.toPass.PassedEnum.valueOf(toPass);
【讨论】:
【参考方案4】:您可以使用Enum.valueOf(Class<...>, String)
将字符串转换为对应的枚举实例:
MyEnum value = Enum.valueOf(MyEnum.class, "ENUM_VALUE");
如果字符串包含不作为枚举常量存在的值,则此方法抛出IllegalArgumentException
。
【讨论】:
【参考方案5】:public static void method(String toPass)
mymethod(AnotherClass.MyEnum.valueOf(toPass));
【讨论】:
【参考方案6】:使用AnotherClass.MyEnum.valueOf(toPass)
【讨论】:
【参考方案7】:您可以使用静态方法Enum.valueOf
将字符串转换为枚举值:
public static void method(String toPass)
AnotherClass.MyEnum eval = Enum.valueOf(AnotherClass.MyEnum.class,toPass);
mymethod(eval);
【讨论】:
以上是关于将字符串转换为枚举? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
Django/Python:如何将整数转换为等效的枚举字符串? [复制]
Django/Python:如何将整数转换为等效的枚举字符串? [复制]