首页 > 解决方案 > 一本名著证实java字符串是一个数组?

问题描述

我的大卫·帕特森 (David A Patterson) 和约翰·轩尼诗 (John Hennessy) 所著的《计算机组织与设计》一书在“检查自己”部分有一个问题,该问题证实了“字符串只是 C 和 Java 中一维字符数组的非正式名称”这一说法。是真的。

我相信在 C 中就是这种情况,但是在 Java 中,这是完全错误的。我一直在搜索本书的勘误表版本,但一无所获。

我错了吗?我基本上需要帮助。

标签: javastring

解决方案


想想一个String围绕char[]数组构建的 Java 概念。

它是一个包含char[]数组并提供一堆有用方法的类。

public final class String
    implements java.io.Serializable, Comparable<String>, CharSequence {
    /** The value is used for character storage. */
    private final char value[];
    ...
}

字符串只是 C 和 Java 中一维字符数组的非正式名称。

我觉得这个说法不准确。String是一个基本的、众所周知的 JDK 类,所以我们不能说它只是一个“非正式名称”。


我设法找到了“Java 中的字符和字符串”一章(第 2.9 章)和 OP 所指的“检查自己”块。作者广泛地描述了 Java 中的字符串,只是说

Java 对字符使用 Unicode

然后

字符串是一个标准的 Java 类,具有特殊的内置支持和用于连接、比较和转换的预定义方法。与 C 不同,Java 包含一个给出字符串长度的单词,类似于 Java 数组。

从这些方面,我们无法得出合理的结论。


推荐阅读