java:原始数组 - 它们被初始化了吗?

Jas*_*n S 18 java arrays

如果我在我的代码中使用一个语句,比如

int[] a = new int[42];
Run Code Online (Sandbox Code Playgroud)

它会将数组初始化为任何特定的东西吗?(例如0)我似乎记得这是在某处记录但我不知道该搜索什么.

p00*_*0ya 33

15.10阵列创建表达式中,JLS说

[...]创建具有指定长度的一维数组,并将数组的每个组件初始化为其默认值

4.12.5变量的初始值,它说:

对于type int,默认值为零,即0.

  • 请注意,我刚刚发现这对于多维数组来说并不正确. (9认同)

Boz*_*sov 6

创建时,数组会自动使用其类型的默认值进行初始化 - 在您的情况下0.默认值是falsebooleannull所有引用类型.