从Java程序获取局部变量的名称和类型

这是我正在尝试的代码:

JavaCompiler compilerA = ToolProvider.getSystemJavaCompiler(); int resultA = compilerA.run(null,null,null,"/Users/a/Documents/Java/a.java"); System.out.println("Compile result code = " + resultA); File fileA = new File("/Users/a/Documents/Java/a.class"); JavaCompiler compilerB = ToolProvider.getSystemJavaCompiler(); int resultB = compilerB.run(null,null,null,"/Users/a/Documents/Java/b.java"); System.out.println("Compile result code = " + resultB); File fileB = new File("/Users/a/Documents/Java/b.class"); 

这里我编译一个Java类,然后使用reflection来获取所有函数名,参数和返回类型。 但是,我不知道如何获取函数的局部变量的名称和返回类型。 我尝试查找字节码大纲,但它说它不适用于netbeans。 请帮帮我。

查看javac编译器选项 。 特别是-g:vars。

这将填充调试器的局部变量表。

看到同样的问题Java反思:如何获取变量的名称?