Java中char char(0)的含义是什么?

可能重复:
Java字符串替换和NUL(NULL,ASCII 0)字符?

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

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+"]"); } 

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

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