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> ","

当然我没有联系。 有人能告诉我发生了什么事吗,有什么解决办法吗?< / p >

根据ASCII表,字符123和64代表{和@,那么为什么这些字符无效时,这个语法是正确的,根据文档?

319875 次浏览

对于Javadoc标记@see,你不需要使用@link;Javadoc将为您创建一个链接。试一试

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

这里是关于@see的更多信息

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

Javadoc文档(@link标记的描述):

这个标记非常类似于@see——对于package.class#成员和标签,两者都需要相同的引用,并接受完全相同的语法。主要的区别是{@link}生成一个内嵌链接,而不是将链接放在“See Also”部分中。此外,{@link}标记的开始和结束都用花括号将其与内联文本的其余部分分开。

因此,最初问题的解决方案是不需要“@see”和“{@link…”}”的引用。“@link”标记是自给自足的,正如前面提到的,您可以将它放在javadoc块中的任何地方。所以你可以混合使用这两种方法:

/**
* some javadoc stuff
* {@link com.my.package.Class#method()}
* more stuff
* @see com.my.package.AnotherClass
*/