java二维数组初始化问题

Object[][] result = new Object[][]{new Object[]{2}};
Object[][] restult1 = new Object[][]{new Account()};
二维数组初始化,这两句具体什么意思呢?没看明白,求解呀

Object[][] result = new Object[][]{new Object[]{2}};
你可以单独把new OBject[]{2}拿出来,这就是一个一维数组,里面就一个元素 值是2
二维数组的内部就是多个一维数组,所以Object[][] result = new Object[][]{new Object[]{2}}; 里面的new Object[]{2}就是这个二维数组里面的第一维里的一个元素。
例:
int[] arr=new int[]{2};//很普通的一维数组,元素就一个2
int[][] array=new int[][]{arr,{12,45,32}};//和你上面的一样,但是第一维有2个元素, arr 和 {12,45,32}
------------------
Object[][] restult1 = new Object[][]{new Account()};
这个楼上那位有解答,是错的,因为二维数组里面第一维肯定也是一个数组,加个花括号就行了。
PS:记住二维数组的第一维肯定是个数组就OK了

参考资料:详细参考楼上。

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-02-26
数组成员是实例对象的数组,只是写法有点不同,其实也是一种普通的数组,你可以从以下int[][]与Object[][]对比了解到

class Test
{

}

class Account
{

}
public class Maintest {
public static void main(String[] args) {

int[][] num=new int[][]{new int[]{2}}; //“new int[]{2}”整体是一维元素,再加上它本身是一维数组,这个数组里面的2就是二维元素了
int[][] num1=new int[][]{{2}};

//因为“new Object[]"一维 Object数组,数组元素中只能是类的实例对象这里面放的不是原始数据类型,如你放的2就不行,(我在上面定义了个Test类,所以new Test()是类的实例对象,可以放入)
Object[][] result = new Object[][]{new Object[]{new Test()}};

//new Accout()是一个实例对象,在二维数组中只能表示一个元素,所以Object[][] restult1 = new Object[][]{new Account()}这种写法是错的,你可以在外面加个花括号,让它变成另一个数组中的元素

Object[][] restult1 = new Object[][]{{new Account()}}; }
}本回答被提问者采纳
相似回答