C和C++里的字符数组要表示成字符串,需要结尾为0。但是java里没有这个限制:
char[] buffer = new char[] {'a', 'b', 'c'};
String str = new String(buffer);
因为数组在java里也是一种类型,而不是指针(就像C/C++里一样,将一个int*解释为char*),所以char[]的边界是可以判断的,不需要标志。
而加上标志反而是错误的,会被当做字符串的一部分。