A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 孔肖 中级黑马   /  2012-9-29 10:01  /  1766 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

张老师说:基本数据类型的一维数组,可以当做Objcet,而对于二维数组和非基本数据类型的数组,可以当做Object[]。
也就是说,String[] s1 = new String[]{"a","b","c"};
                  Object[] obj1 = s1;
因为String是Object的子类,这个可以理解。

但是对于String类型的二维数组,我试了试也可以,这又该如何理解呢?
         String[][] s2 = new String[][]{new String[]{"a","b"},new String[]{"c","d"}};
         Object[] obj2 = s2;

2 个回复

倒序浏览
但是对于String类型的二维数组,我试了试也可以,这又该如何理解呢?
         String[][] s2 = new String[][]{new String[]{"a","b"},new String[]{"c","d"}};
         Object[] obj2 = s2;

你可以这样理解 String[][] s2 ,把他当做String[] s2[];
这样Object[] obj2 = s2;等价于obj2=s2[];


回复 使用道具 举报
本帖最后由 杨政 于 2012-9-29 10:28 编辑

String[][] s2 = new String[][]{new String[]{"a","b"},new String[]{"c","d"}};
         Object[] obj2 = s2;
Object[]是一个Object类型的一维数组,而里面Object类型的数组元素又是一维数组,这样Object[]既是一个Object类型的一维数组,也是一个String类型的二维数组了。所以才有Object[] obj2 = s2;


String[][] s2 = new String[][]{new String[]{"a","b"},new String[]{"c","d"}};
Object[] obj2 = s2;
可以理解为
String[] s1 = new String[]{"a","b"};
String[] s2 = new String[]{"c","d"};
Object  obj1= s1;
Object  obj2 = s2;
Object[] obje = new Object[]{obj1,obj2};
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马