2012-10-23 58 views
4

我想寫我的自定義doclet。我不想閱讀使用標準doclet製作的一些現有的 javadoc。Javadoc API:可變參數支持多遠?

我有問題想弄清楚如何查詢Javadoc API 是否一個正式參數是可變參數參數。例如,如果 我有以下方法:

public static void main(String... args) { 
} 

我如何能夠確定正式參數參數表是可變參數?我 已經調查了com.sun.javadoc.Type。但無法確定 如何訪問信息。

再見

P.S:反思並沒有幫助,因爲反射內不可 一個的doclet我猜。在一個doclet中,例如MethodDoc反映了 類,而在反射中,您有Method類。

+0

可能的重複[如何告訴方法有一個varargs參數使用反射?](http://stackoverflow.com/questions/3042050/how-to-tell-a-method-has-a-varargs-argument -using-reflection) –

+3

@CookieMonster你可以開始賞金,以吸引更多的關注你的問題。 – 2012-10-23 12:35:08

回答

6

實測值給出它是MethodDoc超類的一個屬性:

public interface ExecutableMemberDoc { 

    public boolean isVarArgs(); 
    // Return true if this method was declared to 
    // take a variable number of arguments. 

} 

爲了使它工作,你必須把下面的靜態
方法和返回值到您的doclet類(原文如此!):

public static LanguageVersion languageVersion() { 
    return LanguageVersion.JAVA_1_5; 
} 

衝電氣土城。案件結案。

+0

+1恕我直言,你可以接受你自己的答案。 –

+0

只有2天后......現在確實允許接受。 –

+1

我會添加一個鏈接到http://docs.oracle.com/javase/7/docs/jdk/api/javadoc/doclet/com/sun/javadoc/ExecutableMemberDoc.html –

0

我認爲javadoc API清楚地顯示瞭如果參數是可變參數。

檢查下面APi的

http://docs.oracle.com/javase/1.5.0/docs/api/java/io/PrintStream.html

它有一個方法,如下面可變參數

格式(區域設置升,字符串格式,對象參數... args

+0

我想寫我的自定義doclet。我不想閱讀使用標準doclet製作的一些現有的 javadoc。 –