2010-06-30 63 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

相關問題