例如,我有这个枚举:
public enum MyEnum {
ONE, TWO, THREE
}
我希望得到相同的结果,方法是通过将其名称作为某个方法参数传递,以某种方式调用MyEnum.values()
方法,例如getEnumValues(String enumName)
。
我怎么能这样做?
答案 0 :(得分:3)
如果您在编译时不知道枚举类是什么(您只是在字符串中有名称),那么您可以使用反射:
String enumClassName = "com.something.MyEnum";
Class<?> enumClass = Class.forName(enumClassName);
Object[] enumConstants = enumClass.getEnumConstants();
答案 1 :(得分:0)
为什么不简单地使用enum的valueOf(...)
方法?它已经做了你想要的。
MyEnum myEnum = MyEnum.value(testString.toUpperCase());
答案 2 :(得分:0)