可变参数方法的 Javadoc link
Javadoc link for vararg methods
假设我有这个:
/**
* Single-word method.
*/
private void say(String word) {
System.out.println("Single word: " + word);
}
/**
* Multiple-word method.
*/
private void say(String... words) {
System.out.print("Multiple words: ");
for (String word : words) {
System.out.print(word);
}
System.out.println();
}
/**
* {@link #say(String...)}
*/
@SuppressWarnings("unused")
private void testJavadoc() {
}
public static void main(String[] args) {
say("hello");
say("world");
say("hello", "world");
}
如果我运行这个,我得到:
Single word: hello
Single word: world
Multiple words: helloworld
这证明用String
定义方法和用String...
重载没有错。
当我将鼠标悬停在 testJavadoc()
上时,这是我看到的 Javadoc:
void testJavadoc()
@SuppressWarnings(value={"unused"})
say(String)
单击 say(String)
将我带到第一个没有可变参数的方法的 Javadoc。
如果我删除 say(String)
方法,那么 Javadoc 工作正常。
我正在使用 eclipse neon 3 (4.6.3)。这应该是正确的行为吗?
这看起来可能是 Eclipse 中的一个错误,因为你是正确的,它应该引用 vararg 方法(我没有 Eclipse,所以无法测试)。
在 IntelliJ 中测试,我可以看到预期的引用。
此外,如果您继续实际生成 JavaDoc,您应该能够看到正确的输出。
假设我有这个:
/**
* Single-word method.
*/
private void say(String word) {
System.out.println("Single word: " + word);
}
/**
* Multiple-word method.
*/
private void say(String... words) {
System.out.print("Multiple words: ");
for (String word : words) {
System.out.print(word);
}
System.out.println();
}
/**
* {@link #say(String...)}
*/
@SuppressWarnings("unused")
private void testJavadoc() {
}
public static void main(String[] args) {
say("hello");
say("world");
say("hello", "world");
}
如果我运行这个,我得到:
Single word: hello
Single word: world
Multiple words: helloworld
这证明用String
定义方法和用String...
重载没有错。
当我将鼠标悬停在 testJavadoc()
上时,这是我看到的 Javadoc:
void testJavadoc()
@SuppressWarnings(value={"unused"})
say(String)
单击 say(String)
将我带到第一个没有可变参数的方法的 Javadoc。
如果我删除 say(String)
方法,那么 Javadoc 工作正常。
我正在使用 eclipse neon 3 (4.6.3)。这应该是正确的行为吗?
这看起来可能是 Eclipse 中的一个错误,因为你是正确的,它应该引用 vararg 方法(我没有 Eclipse,所以无法测试)。
在 IntelliJ 中测试,我可以看到预期的引用。
此外,如果您继续实际生成 JavaDoc,您应该能够看到正确的输出。