Core Java

来源:百度知道 编辑:UC知道 时间:2024/05/15 19:28:21
int[][] i2 = new int[2][];
为什么这样可以

int[][] i2 = new int[][2];

却不可以。。。。。

为虾米?达人解释下~
这么容易也没人回答?????

你这么想就可以了
java二维数组也就是数组的数组,换句话说一维数组的内容还是个数组,先有一维,再有一维数组的内容,并且这个内容的数组元素个数也不是固定的,所以 int[][2]先指定一维数组内容的元素个数,而一维却都还不知道有没有,要脚趾头也能想到这是不对的

好比篮子里放鸡蛋,篮子是一维,鸡蛋是二维,只指定鸡蛋的个数而篮子有没有都不知道这怎么创建呢!
但是可以先有篮子,每个篮子里的鸡蛋能放几个可以稍后确定!可以放相同的个数,也可以放不同的个数!

int[x][y]
是这样的
二位数组实质是一位数组的数组
int[]a;int[] b;

int[][] c = {a,b};

也就是如果没有x,也就不会有y

和java内存分配机制有关