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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 江远云 中级黑马   /  2012-3-17 10:29  /  2019 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

元素类型[] 数组名 = new 元素类型[元素个数或数组长度];,一个元素类型不就够了,那样可以省略书写,元素类型里Object[] arr=new Object[3];或int[] arr=new int[3]这样都可以,Object[] arr=new int[3]却不兼容,上帝装不下,自己想的话是为了美观,两个元素类型可以是不一样的数据类型?

2 个回复

倒序浏览
兄弟呀。Object[] arr=new int[3]却不兼容,这条语句当然回不兼容了。
我们说Object是什么?是上帝,它可以用来接收对象的。在这条语句中我们却给了它一个基本数据类型。上帝就不高兴了,嫌弃我们太抠门了,基本类型都不知道包装一下就给我拿过来了。所以jvm就报错了,说上帝不高兴了,说需要Object[]   ,却找到了int[]
如果我们将这句话改成Object []arr = new int[]{1,2,3};
                for (int x= 0;x<arr.length ;x++ )
                {
                        System.out.println(arr[x]);
                }
这就可以了。是可以正常打印出结果的。

评分

参与人数 2技术分 +1 黑马币 +5 收起 理由
江远云 + 5 很给力!
职业规划-刘倩老师 + 1 赞一个!

查看全部评分

回复 使用道具 举报
Object[] arr=new int[3];第一次看见。你的思维是好的。但是java不是你发明的。必须严格遵守java虚拟机规范。在规则中,你可以随便发挥,打破规则的人只有定规则的人。{:soso_e142:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马