the*_*ous 4 java reflection enums
class Clazz{
public enum MyEnum{
Hello, World
}
}
Run Code Online (Sandbox Code Playgroud)
上课时Clazz
,我该怎么办MyEnum.values()
?
用法的一个例子是:
Class unknownClass = getSomeClass();
Run Code Online (Sandbox Code Playgroud)
如何获得MyEnum.values()
的unknownClass
?
你可以做Clazz.MyEnum.values()
访问Enum
,或者你可以直接导入MyEnum
你的其它类import 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]);
Run Code Online (Sandbox Code Playgroud)
OUTPUT
Hello
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
572 次 |
最近记录: |