//有两个数组:
int[] a1 = new int[4];
int[][] a2 = new int[2][3];
//又有如下定义
//Object[] aObj1 = a1;
Object[] aObj2 = a2;
楼主你好,是这样的,
因为a1是一个一维int型数组,这个数组中存放的是int性数据,而把它赋给Object型数组(里面装的是对象)就会出错,因为他不会主动将int型数据自动装箱成Integer;
而a2是一个二维数组,就好像一维数组中存放int型一维数组,而里面存放的int型数组是一个对象,所以外面装这些一维数组的二维数组就可以赋值给obj2。
记住一点,什么类型的数组就只能赋值给什么样类型的数组;Object数组中存放对象,给他赋值的数组中也要存放对象。 |