请考虑这种情况:
char[] array = new char[4];
array[0] = 'a';
array[1] = '3';
array[3] = 'q';
正如您所看到的那样,array[2]
从未被填充过。有什么。 array[2]
的价值是什么?
在迭代char
数组时,我需要检查什么,寻找空的'细胞
答案 0 :(得分:6)
array[2]
将填充null char literal
。其值为\u0000
。
char
是一种原始类型。这意味着它永远不能容纳null
,因此像int
,double
和其他内容一样,它需要一些起始值。对于int
0
char
\u0000
0
,{{1}}实际评估为{{1}}。
您可以查看基本类型here的起始值。
答案 1 :(得分:3)
答案是:(char)0。
基元的默认值为0,0.0f,0.0(double),(char)0和false(对于布尔值)。
适用于数组和单个变量。
答案 2 :(得分:3)
在Java中,char[] array = new char[4];
会将与该数组关联的所有内存设置为零。因此,在这种情况下,每个元素都将具有空字符文字'\0'
的值。
(对于所有语言都不是这样,在C和C ++中,例如,内存是单元化的,并且在初始化之前访问它是技术上未定义的行为。)
答案 3 :(得分:1)
数组的空单元格将始终为0,因为数组会自动初始化为0,因此它将为' 0'
答案 4 :(得分:0)
与其他已经说过的一样,默认值为null'\ u0000'。 如果您尝试将其打印出来,它将是一个空值。 (意思是你看不到它)