什么';char zero(0)在Java中的含义是什么?

什么';char zero(0)在Java中的含义是什么?,java,string,Java,String,可能重复: 我正在用Java做一些字符串算法,我注意到无论我在哪里包含一个值为0(零)的字符,它都标志着字符串的结束。像这样: String aString = "I'm a String"; char[] aStringArray = aString.toCharArray(); aStringArray[1] = 0; System.out.println(new String(aStringArray)); //It outputs "I" 这种行为的原因是什么?字符'\0'是空字符。

可能重复:

我正在用Java做一些字符串算法,我注意到无论我在哪里包含一个值为0(零)的字符,它都标志着字符串的结束。像这样:

String aString = "I'm a String";
char[] aStringArray = aString.toCharArray();
aStringArray[1] = 0;
System.out.println(new String(aStringArray)); //It outputs "I"

这种行为的原因是什么?

字符
'\0'
是空字符。它是一个控制字符,并且不会终止字符串,这不是字符串在Java中的工作方式(但在C中也是如此。)

要了解更多信息,请在代码中添加以下内容:

 System.out.println(new String(aStringArray).length());
 for (Byte b : new String(aStringArray).getBytes()) {
     System.out.print("["+b+"]"); 
 }

您的渲染系统(控制台或输出窗口)没有显示所有内容。

我想知道您是否发布了实际代码。使用构造函数时,字符串的实际长度取决于数组的内容。

Null字符:我不确定是否理解。他们在哪里使用“String(byte[])”构造函数?