class Clazz{
public enum MyEnum{
Hello, World
}
}
使用 Clazz
类,我如何获得 MyEnum.values()
?
用法示例是:
Class unknownClass = getSomeClass();
如何从unknownClass
获取MyEnum.values()
?
最佳答案
您可以执行 Clazz.MyEnum.values()
来访问 Enum
或者您可以直接在其他类中导入 MyEnum
导入 com.in.Clazz.MyEnum
因为 MyEnum
是 public
。
要通过反射获取MyEnum
常量,但如果MyEnum
可访问则无需使用反射。您可以通过以下方式进行,
Class<?> clazz = Clazz.class;//You are getting dynamically
Class<?> enumClass = clazz.getDeclaredClasses()[0];//assuming at index 0
Enum<?>[] enumConstants = (Enum<?>[]) enumClass.getEnumConstants();
System.out.println(enumConstants[0]);
输出
Hello
关于java - 从包含它的类中获取 enum.values(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34477406/