2010-06-30 61 views

回答

1

解析javadocs可能是最好的选择,假设你有这些。

如果你不这样做,它是java源代码。如果你没有Java源代码或者javadocs,那你的运气就不好。

1

我不知道我是否理解你的问题......如果你的问题更长,并且会告诉你正在尝试做什么,这会更容易给出答案。

编译的类文件可能包含参数名称,但通常它们不包含,并且对于它们从来不会执行的接口。看到我的问题Preserving parameter/argument names in compiled java classes和众多的ansers有关它的更多信息。

1

我相信你可以从javac(在JDK5中为apt)的注解解析器中获得信息。

如果您只有类文件,那么它们需要包含调试信息以包含参数名称。然后我猜你可以用ObjectWeb的ASM来解析类文件。

2

找到paranamer项目可以解决这个问题。

使用案例:

 
    Method method = Foo.class.getMethod(...); 
    Paranamer paranamer = new CachingParanamer(); 
    String[] parameterNames = paranamer.lookupParameterNames(method) 

项目主页:http://paranamer.codehaus.org

相关问题