好的,这可能是一个棘手的问题。对于代码生成工具,我需要知道类的方法和参数。方法名和参数类型是简单的——只使用反射。但是参数名——我需要真正的参数名——是一个棘手的问题,因为这个信息在javadoc中。在我的情况下,我使用Netbeans 8,我很确定,如果Netbeans可以得到参数的名称,我也可以。有人知道如何读取javadoc以获取方法的参数名称吗?
我知道这个问题会弹出来。我需要真实的参数名称,因为生成的代码提供了一个api,对于开发人员来说,使用api方法如set_a1、set_a2等不是很有帮助。确实,这很棘手,如果您打算找到适用于任意(第三方)类和任意Java版本的通用解决方案,则需要付出相当大的努力。
然而,在某些条件下,可能有一个简单的解决方案:
如果你可以编译你自己的类,而如果你可以使用Java 8,那么你可以使用Java 8中添加的方法参数反射基础结构。在编译带有javac -parameters ...
的类时,将参数名添加到类文件中,通过调用Method
对象上的getParameters方法获得参数名,然后调用parameter #getName()
Parameter parameters[] = method.getParameters();
String name = parameters[0].getName();
...