我有一个类,我想查找所有变量和类型数据。
例如
class ex
{
String A,B;
public void method()
{
int a;
double C;
String D;
}
}
所以我想要这样的输出
A : String
B : String
a : int
C : double
D : String
最佳答案
您可以使用 Reflection API 中的方法 Class.getDeclaredMethods()
和 Class.getDeclaredFields()
来列出类方法和属性。
for (Method m : ExampleClass.class.getDeclaredMethods()) {
System.out.println(m.getName() + ": " + m.getGenericReturnType());
}
for (Field f : ExampleClass.class.getDeclaredFields()) {
System.out.println(f.getName() + ": " + f.getType());
}
但无法正常访问局部变量信息。在 Java 8 中,您可以使用方法 Method.getParameters()
访问方法参数。所以你可以这样做:
for (Method m : ExampleClass.class.getDeclaredMethods()) {
for (Parameter p : m.getParameters()) {
System.out.println(p.getName() + ": " + p.getType());
}
}
默认情况下,参数名称不会存储在 .class 文件中,因此参数将列出为 arg0
、arg1
等。获取真实参数使用 javac 编译器的 -parameters 选项编译源文件所需的名称。
关于java - 如何使用java获取类和方法中的所有变量和类型数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29230442/