gpt4 book ai didi

java - 为什么 stringbuilder 在使用空字符后停止添加元素?

转载 作者:IT王子 更新时间:2023-10-28 23:54:03 24 4
gpt4 key购买 nike

当我使用空字符 '\u0000' 时,stringbuilder 将停止追加新元素。

例如:

StringBuilder _stringBuilder = new StringBuilder();
_stringBuilder.append('\u0000');
_stringBuilder.append('a');
System.out.println("."+_stringBuilder+".");

返回

. 

我知道不应该打印空值(或者像空字符串值一样打印)但在这种情况下,为什么 stringbuilder 无法添加更多元素?

注意:我在 ubuntu 上使用的是 jdk 1.6.0_38。

最佳答案

空字符是一个保留字符,表示字符串的结尾,因此如果您打印后跟 \u0000 的内容,则不会打印任何其他内容。


为什么 stringbuilder 在使用空字符后停止添加元素?这不是真正的 java,而是您的终端将 \u0000 视为字符串的结尾。

正如有人所说,Windows 的输出可以是 .a.(我没有测试过),这是因为 Windows 终端的工作方式不同于基于 Unix 的系统终端。我很确定,如果您在 OSX 机器上运行此代码,您将获得与在 Linux 上获得的输出相同的输出

关于java - 为什么 stringbuilder 在使用空字符后停止添加元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17449887/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com