5

我想编写我的自定义 doclet。我不想阅读一些使用标准 doclet 制作的现有 javadoc。

我无法弄清楚如何查询 Javadoc API 形式参数是否是 varargs 参数。例如,如果我有以下方法:

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

如何确定形参 args 是 varargs?我调查了com.sun.javadoc.Type。但无法弄清楚如何访问这些信息。

再见

PS:反射没有帮助,因为我猜在 doclet 中反射不可用。例如,在 doclet 中,您有MethodDoc反射类,而在反射中,您有 Method 类。

4

2 回答 2

7

找到了,它是 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;
}

奥基多基。结案。

于 2012-10-23T12:48:10.187 回答
-1

我认为 javadoc API 清楚地显示了参数是否为可变参数。

检查下面的 APi

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

它有一个下面给出的带有可变参数的方法

格式(区域设置,字符串格式,对象... args

于 2012-10-23T12:36:25.397 回答