int[] arr1 = new int[3]{1,2,3,4};
首先这个数组应该定义成4个成员,即int[] arr1 = new int[4],但即使是这样,上面那样的方式也是通过不了的。
因为数组已经被初始化过了。
int[] arr1 = new int[4]{1,2,3,4};
int[] arr1 =new int[4]这部分就已经在内存中开辟了一块空间给这个数组,并且都已经附上了初始值,后面再加上{1,2,3,4},就是重复了,所以是不允许的。
int[] arr1 = new int[]{1,2,3,4};就不存在这个问题,因为[]里面是空的,表示还没有开辟空间,大小待定,后面的{1,2,3,4}为它指定了空间大小和成员,这个是对的。 |