java - java 是否将字符串定义为以 null 结尾?

标签 java string null

正如我的标题所示,这是一个理论问题。我想知道java是否将字符串定义为以null结尾。

最佳答案

I'd like to know that if java defines string as null terminated.

没有。字符串被定义为 char 值的固定长度序列。所有可能的 char 值(从 0 到 65535)都可以在字符串中使用。没有“可区分”值表示字符串以 1 结尾。

So how they track string ending? Using length?

是的。 String 对象有一个私有(private)的 length 字段(在我检查过的所有实现中......)。

如果您想了解更多有关 Java 字符串是如何实现的信息,可以在线获取各个版本的源代码。 Google 搜索“java.lang.String 源”。

<小时/>

1 - 如前所述,JLS 或 String 的 javadoc 都没有明确规定 String 实现不能使用 NUL 终止。然而,事实上,包括 NUL 在内的所有字符在 String 中都很重要,这意味着 NUL 终止并不实用。

关于java - java 是否将字符串定义为以 null 结尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62367698/

相关文章:

java - 使用 `equals` 进行不同单位的长度比较是不是不好?

java - Play Framework 文档任务列表示例错误

xcode - Xcode 7 Beta 5 中的 String' 无法转换为 'StringLiteralConvertible'

c++ - 如何根据位置(偶数或奇数)将一个 full=number 分成两组

c# - 传递给 C# 中的属性时对象变为空

java - Grails java.lang.NoClassDefFoundError : org/springframework/mock/web/MockHttpServletRequest

c# - 在目录中搜索以 ACCESS 开头的文件,然后搜索该文件

arrays - 如何检查我的 Ruby 数组中的每个对象是否都具有 nil 属性?

arrays - 填充了非 nil 值的数组(类)保持为空

java - 重写方法是 super 引用父类(super class) super