本文正在参加「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}标签以大括号开头和结尾,以将其与行内文本的其余部分分开。