首页 > 解决方案 > JavaDoc中的`.`和`#`有什么区别?

问题描述

我在上述方法的 Javadoc 中有这一行:

* {@link client.navigator.URLManager.newToken(NavigationToken)}

和 Intellij IDEA 分析器将其突出显示为错误:

无法解析符号“client.navigator.URLManager.newToken”

但如果我改变.它就#可以了。

* {@link client.navigator.URLManager#newToken(NavigationToken)}

有什么区别?.因为我在项目中有很多地方#

标签: javajavadoc

解决方案


.将包的部分和包与类分开。

#将类名与字段、方法或构造函数分开。

即在client.navigator.URLManager#newTokenclient.navigator一个包,URLManager是一个类,newToken是方法名。

甚至可以#someMethod在不指定类的情况下引用当前类中的方法(对于字段也是如此,...)。

请注意,在内部类的情况下,将有多个类名:java.lang.Thread.State是包java.lang中的一个内部类,位于内部Thread并命名为State。内部类和顶级类之间没有语法差异,识别这种差异(无需查找类)的唯一方法是查看它Thread是否大写,因此可能是一个类(但 Java 允许小写类和大写类包,即使约定禁止它们)。


推荐阅读