10

javadoc 链接标签中的哈希“#”的用途是什么?

/** Call {@link #method} to do foo. */
4

4 回答 4

9

Javadoc 使用 # 作为类和方法/构造函数签名或字段名称之间的分隔符,以避免不明确的链接。

Javadoc @link 和 @see 标记可用于对包、类和特定方法/构造函数或类中的字段的引用。这可能并不明显,但是在同一个项目中,在包“ab”中有一个类“c”和在包“a”中有一个类“b”和一个名为“c”的字段是合法的。指向“package ab, class c”的 Javadoc 链接将写作“abc”,而指向“package a, class b, field c”的链接将写作“ab#c”。如果名称不同,Javadoc 工具也将接受 . 方法、构造函数或字段之前的分隔符。

如果链接以 # 开头,则它指的是同一类中的方法/字段/构造函数。这类似于 HTTP url 中的锚点用法,其中 href="doc.html#a1" 指的是 "doc.html" 中的 "a1" 锚点, href="#a1" 指的是相同的文件。

于 2013-01-17T13:17:51.240 回答
6

它是类和方法之间的“分隔符”。

例如,您可以在同一个类中包含对方法的引用:

{@link #methodA() whatever}

或者引用其他类中的方法,那么语法就是class#method,即

{@link MyClass#methodA() whatever}

然后#是分隔符。

于 2013-01-17T12:29:19.150 回答
1

文档

插入带有可见文本标签的内联链接,该标签指向指定包、类或引用类的成员名称的文档。此标签在所有文档注释中均有效:overview、package、class、interface、constructor、method 和 field,包括任何标签的文本部分(如@return、@param 和@deprecated)。

于 2013-01-17T12:20:33.987 回答
0

它插入指向同一类中另一个方法的 javadoc 的链接。

例如,在String.isEmpty() javadoc 中,有一个指向String.length()方法的链接。

javadoc是:

Returns <tt>true</tt> if, and only if, {@link #length()} is <tt>0</tt>.
于 2013-01-17T12:19:59.210 回答