javadoc 链接标签中的哈希“#”的用途是什么?
/** Call {@link #method} to do foo. */
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" 指的是相同的文件。
它是类和方法之间的“分隔符”。
例如,您可以在同一个类中包含对方法的引用:
{@link #methodA() whatever}
或者引用其他类中的方法,那么语法就是class#method,即
{@link MyClass#methodA() whatever}
然后#
是分隔符。
从文档:
插入带有可见文本标签的内联链接,该标签指向指定包、类或引用类的成员名称的文档。此标签在所有文档注释中均有效:overview、package、class、interface、constructor、method 和 field,包括任何标签的文本部分(如@return、@param 和@deprecated)。
它插入指向同一类中另一个方法的 javadoc 的链接。
例如,在String.isEmpty() javadoc 中,有一个指向String.length()方法的链接。
javadoc是:
Returns <tt>true</tt> if, and only if, {@link #length()} is <tt>0</tt>.