首页 > 解决方案 > 如何获取类文件的类参数

问题描述

我想在编译后读取类的参数。我只需要名字。

例如:

public class X {
   public String y;
   ...
}

我想将代码编译为类文件。然后让另一个 java 项目在这种情况下读取类的名称以及在这种情况下X的所有类参数y

我可以做吗?如果可能,参数是否必须公开?

谢谢。

编辑:

我尝试使用 JSystem - java 中的自动化框架。为此,我是否需要读取类文件并读取所有类名和那些参数?我希望它可以理解。

对于了解 JSystem 的人,我尝试制作 JRunner,但制作 web gui(带有 spring)。

标签: javajsystem

解决方案


你想使用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);
  }

推荐阅读