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

时间:2012-03-17 20:46:58

标签: java string

  

可能重复:
  Java string replace and the NUL (NULL, ASCII 0) character?

我正在用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"

这种行为的原因是什么?

3 个答案:

答案 0 :(得分:15)

字符'\0'是空字符。它是一个控制字符,终止字符串,这不是字符串在Java中的工作方式(不过它们在C中的工作方式。)

答案 1 :(得分:2)

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

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

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

答案 2 :(得分:0)

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