8

在回答问题时,我发现自己经常提到方法名称和在线文档。我对如何在文本中引用方法名称感到困惑。

例如我经常输入:

应该String.equals()用于比较两个字符串是否相等。

但是,这有点误导:

  1. equals()看起来像是一个静态成员。
  2. equals()似乎不接受任何论据。

为了完整起见,我想知道:

引用静态成员和实例成员的正确方法是什么?

我见过这样的事情:

  • String.equals()
  • 字符串#equals()
  • myString.equals()

有没有办法以与参数无关的方式引用方法?

例如,在 Cfoo(void)中显式地是一个零参数函数,并且foo()可以在以后重新定义以具有不同的参数集。(?)

4

7 回答 7

5

如果你想真正准确,你可以使用

java.lang.String#equals(java.lang.Object)

或更短的形式

String#equals(Object)

这类似于 javadoc 中使用的符号,有趣的是,它也类似于以以下结尾的文档的链接:

String.html#equals(java.lang.Object)

编辑:这是描述如何使用引用的javadoc 文档的链接。

于 2011-03-10T20:09:01.417 回答
2

我发现 Stringequals方法的文档链接消除了歧义。

于 2011-03-10T20:00:38.203 回答
2

除非您非常清楚地说明 myString 是 String 的一个实例,否则使用 myString.equals() 是没有意义的。javadoc 使用 String#equals() ,因此大多数开发人员应该可以阅读和理解。这将是我的选择。

于 2011-03-10T20:01:00.897 回答
2

String.equals.

如果你想给出参数类型String.equals(Object)

添加括号 ( equals()) 是 C 的事情。特别是 ANSI C 的东西,其中一个无参数函数将被写成tostring(void)(我实际上太年轻了(!)不记得 K&R/PCC C)。C++ 解决了这个问题 - 所以()它们真的很老派。

于 2011-03-10T20:21:48.553 回答
1

我通常引用类和方法名,希望读者可以使用它来追踪文档。或许这有点傲慢。我不知道。

如果我试图说明要使用哪种方法的签名,我通常会提供示例代码。这主要是因为我发现它比手写描述更容易。

于 2011-03-10T20:00:52.983 回答
1

myString.equals()是完美的。它暗示了类型,并清楚地表明我们正在谈论一个实例。

你甚至可以添加:

myString.equals(aString)

于 2011-03-10T20:03:18.823 回答
0

当提到一个方法时,我使用"String.equals()"。这是为人类读者准备的,他们可能会从上下文中知道你在说什么。如果它可能变得混乱,只需说“方法 String.equals()”

One should use String.equals() for comparing two strings for equality.

说真的,谁会被这句话弄糊涂呢?所以不用担心。这只是英语,没有编译器对你大喊大叫。

于 2011-03-10T21:11:20.177 回答