如果没有初始化int数组的各个元素,默认情况下存储在它们中的是什么?我显然发现有类似空数组或空数组的东西.有什么区别,哪一个适用于我的第一个问题?
rua*_*akh 26
从技术上讲,没有空数组这样的东西; 但由于数组是对象,数组类型是引用类型(即:数组变量只保存对数组的引用),这意味着数组变量可以null而不是实际指向数组:
int[] notAnArray = null;
Run Code Online (Sandbox Code Playgroud)
一个空数组是零长度的阵列; 它没有元素:
int[] emptyArray = new int[0];
Run Code Online (Sandbox Code Playgroud)
(并且永远不能有元素,因为数组的长度在创建之后永远不会改变).
当您创建非空数组而不指定其元素的值时,它们默认为零值 - 0对于整数数组,null对象类型的数组等; 所以这:
int[] arrayOfThreeZeroes = new int[3];
Run Code Online (Sandbox Code Playgroud)
与此相同:
int[] arrayOfThreeZeroes = { 0, 0, 0 };
Run Code Online (Sandbox Code Playgroud)
(虽然这些值可以在之后重新分配;数组的长度不能改变,但其元素可以改变).