前两天老师给我们讲了数组,今天讲到了二维数组以及多维数组,现在我有个关于数组初始化的问题:
这样声明和初始化数组没问题: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};
课堂上把老师都难住了,也没给我们讲为什么?现在请教各位大侠指导下小虾米我^_^

解决方案 »

  1.   

    不是2维,1维数组一样有这个问题
    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
      

  2.   

    哦,有点明白了,不过我电脑提示是:非法的表达式开始。int a = {;也不可以。int a ='{';是可以的,类似{1,2}是不能赋值的,谢谢。