这是一个关于枚举的 Java 问题。
我有这些类(class):
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;
}
}
那么,如何从变量 Variable
中获取值为 Test.TestEnum.TEST_SOMETHING
的 Class 对象 Test
?
最佳答案
您可以像这样使用反射:
Class<?> testClass = TestEnum.TEST_SOMETHING.getClass().getDeclaringClass();
对 getClass()
的调用返回一个描述 TestEnum
枚举的类对象,因为这是 TEST_SOMETHING
的“类”。随后对 getDeclaringClass()
的调用返回 Test
,因为 Test
是声明 TestEnum
的类(其 < em>声明类)。
Here是java.lang.Class
的完整文档,它几乎是任何反射操作的起点。
关于java - 获取声明枚举的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26458766/