java - java是否将字符串定义为空终止?

标签 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 - 如前所述,String 的 JLS 或 javadoc 都没有明确指出 String 实现不能使用 NUL 终止。然而,包括 NUL 在内的所有字符在 String 中都有意义这一事实意味着 NUL 终止不切实际。

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

相关文章:

java - 在Java文件中定义包的目的是什么?

Java拆分方法

java - ClassNotFoundException:org.springframework.jdbc.datasource.DriverManagerDataSource

java - 将 System.out 转移到另一个类并从中读取

c# - 如果一个字符串存在于大量对象列表中,比较最快的(性能)方法是什么?

mysql - 如何获取一对多连接中 NULL 记录的数量

c# - 日期时间 "null"值

java - 如何在 Java 中将字符串转换为 InputStream?

java - 如何解决不可变的 String[]

javascript - JS中如何判断null并据此实现逻辑?