当前位置: 首页 > 面试题库 >

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

左丘宜然
2023-03-14
问题内容

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

例如:

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

退货

.

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

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


问题答案:

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

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

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



 类似资料:
  • 问题内容: 我有这个android代码,它从服务器中获取一个JSON并从该JSON填充一个ArrayList,我在onresponse空隙内检查了ArrayList“ meals”的大小,它给了我1,但是当我在StringRequest对象后对其进行检查时,我得到了0个项目。进餐在全局范围内定义,并在oncreateview函数内部进行初始化代码: 问题答案: 这里的问题是关于了解任务如何工作的。

  • 我很好奇为什么下面的代码: 当使用编译时,生成以下代码: 当使用相同的编译时。我不明白为什么它不能识别仍未使用,而不管字符串长了一个字节。 这个问题与GCC9.1和CLANG8.0(在线:https://gcc.godbolt.org/z/p1z8ns)相关,因为在我看来,其他编译器要么完全删除未使用的变量(ellcc),要么为其生成代码,而不管字符串的长度如何。

  • 问题内容: 因此,我想在字符串中添加一个字符,在某些情况下,我想将该字符加倍,然后将其添加到字符串中(即先添加到字符串本身)。我尝试如下所示。 这引发了一个错误,但是我已经在字符串中添加了一个字符,所以我尝试了: 哪个有效。为什么在求和中包含字符串会导致它起作用?是否添加了一个字符串属性,该字符串属性由于存在字符串而只能在字符转换为字符串时才能使用? 问题答案: 这是因为String + Char

  • 我有一个包含以下条目的Java配置文件 这是一个编入工作了6年的罐子的资源。突然之间,这种比较似乎并不等同于布尔真。 我已经检查了Windows行尾和空格。这是Bash5.0.17,它相当新。它在Solaris上运行。似乎足够简单,我们不想编辑脚本,如果可能的话。还有什么其他的解释呢?

  • 我正在尝试用js制作一架简单的钢琴,但我不想使用音频样本,而是想以编程方式生成声音。要播放单个声音,我正在使用此博客中的此代码 https://marcgg.com/blog/2016/11/01/javascript-audio/ 我发现在玩了大约50次之后,这种方法停止工作。运行此代码时不播放声音, 不会更改并保持 0。如何在不停止播放声音的情况下修复它?

  • 问题内容: 此代码打开url并在末尾附加,然后打开页面并将字符串打印到: 但是我得到这个结果: 如果我将字符串更改为(“ JD”,“哥伦比亚法学院” ....),那么我得到 我在文档中找不到如何指定分度符。 如果尝试使用,则会出现此错误: 谢谢您的帮助。 问题答案: 它需要一个字符串序列(例如:列表或元组)。您给它一个字符串。一个字符串也恰好是一个字符串序列,但是它是一个由1个字符串组成的序列,这