java - 为具有(模拟的)可选/默认参数的函数编写 Javadoc

标签 java javadoc default-value optional-parameters

我有一些 C++ 代码的 Java 包装器,我在其中通过手动重载相关方法来模拟默认参数。 [示例如 Does Java support default parameter values? .] 在一个案例中,C++ fn 有 3 个可选参数,所以我不得不用 Java 编写 8 个方法。

现在我想为上述方法编写 JavaDocs。有什么办法可以避免将基本相同的文本写 8 次?除了冗长之外,这将是一场维护噩梦......

编辑:这是一个说明方法签名的玩具示例:

void foo(int i, String s, double d);
void foo(int i, String s);
void foo(int i, double d);
void foo(int i);
void foo(String s, double d);
void foo(String s);
void foo(double d);
void foo();

最佳答案

一种解决方案是在具有所有参数的方法中编写完整的 Javadoc 文档,然后在重载中链接到该文档,使用 @link 和/或 @see 指令,例如:

/**
 * The parameters in the wrapped C++ method are all  optional,
 * so we had to write an overload for each parameter combination.
 * @param i the int parameter used for x. 
 * @param s the string parameter used for y.
 * @param d the double parameter used for z.
 */
void foo(int i, String s, double d);

/**
 * Overload of the {@link #foo(int, String, double)} method with a default {@code d}.
 */
void foo(int i, String s);

/**
 * @see #foo(int, String, double)
 */
void foo(int i, double d);

...

关于java - 为具有(模拟的)可选/默认参数的函数编写 Javadoc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47365855/

相关文章:

java - 我是否需要自定义 Spliterator 来避免额外的 .stream() 调用?

java - Javadoc 的替代品?

java - 如何通过 Javadocs 中的参数引用正确指定返回

java - 如何 Javadoc 类的单个枚举

datetime - 如何设置像 'YYYYMM' 这样的 Postgresql 默认值日期戳?

java - 删除 printUsage() 方法中的默认值。 [args4j 库]

java - mybatis 插入带有列表的嵌套 pojo

java - 在庞大的项目环境中使用网页片段(Servlet API 3.0)

java - 如何按住按钮直到方法结束

c# - Guid 的默认值是多少?