这是关于枚举的Java问题。
我有这些课程:
class Test{
public static enum TestEnum implements Variable{
TEST_SOMETHING
;
}
}
class Main{
public static void main(String[] args){
//how to get class Object Test from var?
Variable var = TestEnum.TEST_SOMETHING;
}
}
那么,如何从变量Test
获取值为Variable
的Class对象Test.TestEnum.TEST_SOMETHING
?
答案 0 :(得分:2)
您可以像这样使用反射:
Class<?> testClass = TestEnum.TEST_SOMETHING.getClass().getDeclaringClass();
对getClass()
的调用返回一个描述TestEnum
枚举的类对象,因为这是&#34;类&#34; TEST_SOMETHING
。随后对getDeclaringClass()
的调用返回Test
,因为Test
是TestEnum
声明的类(其声明类)。
Here是java.lang.Class
的完整文档,它将成为几乎所有反射操作的起点。