我想在编译后读取一个类的参数。我只需要名字。
例如:
public class X {
public String y;
...
}
我想将代码编译为类文件。然后让另一个 java 项目读取本例中 X
中的类名称以及本例中 y
中的所有类参数。
我可以做吗? 如果可能的话,参数必须是公开的吗?
谢谢。
编辑:
我尝试使用 JSystem - java 中的一个自动化框架。 为此,我是否需要读取类文件并读取所有类名和那些参数?我希望它是可以理解的。
对于了解 JSystem 的人,我尝试制作 JRunner,但使用了 web gui(带有 spring)。
最佳答案
你想使用java反射。以下代码将为您提供包中的所有类:
Reflections reflections = new Reflections("my.project.prefix");
Set<Class<? extends Object>> allClasses = reflections.getSubTypesOf(Object.class);
然后要获取类的属性,您可以执行以下操作:
for (Field f : getClass().getDeclaredFields()) {
System.out.println("Field: " + f);
}
关于java - 如何获取类文件的类参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50081856/