如果未初始化int数组的各个元素,默认情况下会存储哪些元素?我显然发现有类似空数组或空数组的东西。有什么区别,哪一个适用于我的第一个问题?
答案 0 :(得分:24)
从技术上讲,没有 null数组这样的东西;但由于数组是对象,数组类型是引用类型(即:数组变量只是将引用保存到数组中),这意味着数组变量可以是null
而不是实际指向一个数组:
int[] notAnArray = null;
empty 数组是一个长度为零的数组;它没有元素:
int[] emptyArray = new int[0];
(永远不会拥有元素,因为数组的长度在创建之后永远不会改变。)
当您创建非 -empty数组而未指定其元素的值时,它们默认为零值 - 对于整数数组0
,null
表示整数数组对象类型的数组等;所以,这个:
int[] arrayOfThreeZeroes = new int[3];
与此相同:
int[] arrayOfThreeZeroes = { 0, 0, 0 };
(虽然这些值可以在之后重新分配;数组的长度不能改变,但其元素可以改变)。
答案 1 :(得分:1)
默认情况下,java根据声明的类型初始化数组。它是int然后它被初始化为0.如果它是object类型的对象,那么它被初始化为null。
答案 2 :(得分:0)
如果未初始化int数组的各个元素,默认情况下会存储哪些元素?
0
空数组是包含0个元素的数组
我还没有听说过null
数组,但它可能是一个非零元素引用的数组null
答案 3 :(得分:0)
数组将其成员初始化为默认值。对于int
,默认值为0.对于Object
,它是null
。 null
数组是null
Array Reference(因为数组是Java中的引用类型)。
JLS-4.12.5 Initial Values of Variables部分说
对于int类型,默认值为零,即0.
和
对于所有引用类型(第4.3节),默认值为null。