0

我对 Java 比较陌生,并且在阅读 Java 文档时仍然会遇到以前从未见过的方法。我有时对使用这些方法的正确方式感到困惑,因为我不知道 Oracle 使用的约定。

考虑String 类页面中的这个例子:

contains(CharSequence s) 
Returns true if and only if this string contains the specified sequence of char values.

我想知道:

CharSequence字面值吗?它是否表示变量s必须是 a CharSequence?使用此方法的正确语法是什么?

虽然在进一步挖掘后得到澄清,但我觉得如果我知道某种元文档,我可以大大缩小我的搜索范围。如果某处有一个文档说“我们总是在我们的示例中使用代表性数据”,或者“文字总是粗体”或“你假定已经定义的变量总是斜体”,那就太好了。

例如,在上面的示例中,为了清楚起见,我会这样介绍它:

contains(s) 
where s is a user-defined variable of type CharSequence 
Returns true if and only if this string contains the specified sequence of char values.

我一直未能找到任何记录文档的内容,并且我的大部分搜索都返回有关 JavaDoc 的结果。如果有人知道,我会喜欢一个链接。

4

2 回答 2

2

“字面价值”是什么意思?It( CharSequence) 是名为 的参数的类型s

语法是调用contains字符串实例。您传入 a CharSequence(例如, a String)并返回一个布尔值,指示您调用它的实例是否包含传入的值:

String s = "foobar";
System.out.println(s.contains("ooba")); // true
System.out.println(s.contains("ohai")); // false

这与不了解 Javadocs 无关,这不是了解 Java。

但是,在这种情况下,我不确定混淆在哪里。假设您知道 Java 是一种 OOPL,并且除了原语之外,您在实例上调用方法(暂时忽略静态方法),有什么问题?StringAPI 显示字符串 is-a CharSequence,此方法采用的类型。措辞描述了该方法的作用。测试代码似乎是不言而喻的——但我是一个有偏见的样本;)

由于从文档的角度来看它相当清楚,我不得不假设这是一个理解 Java 基本性质的问题。而且你总是会遇到以前从未见过的方法。和课。和包裹。和图书馆。仅在 JDK 中就有数千种方法,更不用说 Java EE,更不用说在任何规模的 Java 应用程序中使用的数百个其他库了。

简单的例子;一个非常小的工作项目有 120 多个依赖项。在这 120 多个依赖项中,有 2500 多个类。在这 2500 多个类中,有大约 16k 个公共属性(字段、方法、静态值)。这不包括 Java SE 和 Java EE API。

我猜我可能已经看到或使用过千分之一的项目特定 API。

于 2012-07-24T15:19:20.037 回答
1

CharSequence 是 java 中的一个接口。通常,在查看 javadocs 中的方法时,如果您看到不理解的内容,请尝试将鼠标移到上面。它将有一个帮助文本来帮助你。例如,在您提供的链接中,如果您将光标移动到 CharSequence 上,它将告诉您它是 java 中的一个接口。

你对文档的理解会随着你对 java 的理解而增加。

于 2012-07-24T15:24:35.827 回答