前两天老师给我们讲了数组,今天讲到了二维数组以及多维数组,现在我有个关于数组初始化的问题:
这样声明和初始化数组没问题:in[][] a = {{1,2},{2,4},{3,4}};
可int[][] b =new int[3][2];b[0] = {1,2};就不可以了,为什么呢?
当把b[0] = {1,2}改成b[0] = new int[]{1,2};
课堂上把老师都难住了,也没给我们讲为什么?现在请教各位大侠指导下小虾米我^_^
这样声明和初始化数组没问题:in[][] a = {{1,2},{2,4},{3,4}};
可int[][] b =new int[3][2];b[0] = {1,2};就不可以了,为什么呢?
当把b[0] = {1,2}改成b[0] = new int[]{1,2};
课堂上把老师都难住了,也没给我们讲为什么?现在请教各位大侠指导下小虾米我^_^
int[] a = new int[3];
a[0] = 1;
a[1] = {2};a[1]赋值就报错了,提示如下:Array constants can only be used in initializers这就验证了我的猜想:) 类似{1,2}的数组常量只可以用来初始化,并不是用来赋值的。 一个{2}显然不可以转换成int