char数组(Java)中空单元格的值是多少?

时间:2014-04-11 13:07:11

标签: java arrays char

请考虑这种情况:

char[] array = new char[4];
array[0] = 'a';
array[1] = '3';
array[3] = 'q';

正如您所看到的那样,array[2]从未被填充过。有什么。 array[2]的价值是什么?

在迭代char数组时,我需要检查什么,寻找空的'细胞

5 个答案:

答案 0 :(得分:6)

array[2]将填充null char literal。其值为\u0000

char是一种原始类型。这意味着它永远不能容纳null,因此像intdouble和其他内容一样,它需要一些起始值。对于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'。 如果您尝试将其打印出来,它将是一个空值。 (意思是你看不到它)