9.9 如何使用Javadoc语法引用其他类中的方法? | Java Debug 笔记

2,582 阅读1分钟

本文正在参加「Java主题月 - Java Debug笔记活动」,详情查看<活动链接>

提问:如何使用Javadoc语法引用其他类中的方法?

目前,我正在使用此Javadoc语法引用其他类中的方法:

@see {@link com.my.package.Class#method()}

根据我从文档中了解到的,这是执行此操作的正确方法。但当我生成此javadoc时,我首先得到以下错误:

warning - Tag @see:illegal character: "123" in "{@link com.my.package.Class#method()}"
warning - Tag @see:illegal character: "64" in "{@link com.my.package.Class#method()}"
warning - Tag @see: reference not found: {@link com.my.package.Class#method()}

生成的HTML代码是:

"," <code>com.my.package.Class#method()}</code> ","

谁能告诉我发生了什么,以及有关如何解决此问题的任何提示?

根据ASCII表,用于wold的字符123和64分别表示{和@,因此,根据文档,当此语法正确时,为什么这些字符无效?

回答1:

对于Javadoc的@see,您无需使用@link;Javadoc将为您创建一个链接。尝试

@see com.my.package.Class#method()

回答2:

除了@see,引用另一个类以及该类的方法的更通用方法是{@link somepackage.SomeClass#someMethod(paramTypes)}。 这样的好处是可以在javadoc描述的中间使用。

根据 javadoc文档对@link标签的描述:

此标记与@see非常相似–两者都需要相同的引用,并且对于package.class#member和label接受完全相同的语法。 主要区别在于{@link}生成一个嵌入式链接,而不是将链接放在“另请参见”部分中。 同样,{@ link}标签以大括号开头和结尾,以将其与行内文本的其余部分分开。