正如我的标题所暗示的,这是一个理论问题。我想知道如果 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/