什么';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[])”构造函数?