黑马程序员技术交流社区

标题: 新技术提问? [打印本页]

作者: on-on    时间: 2014-7-2 15:24
标题: 新技术提问?
1.int []a1 = new int[2];
2.Object o1 = 1;
3.Object[] o2 = a1;
为什么第三行编译不通过?第二行都可以,为什么第三行不行?
作者: ☆枫の云    时间: 2014-7-2 15:28
本帖最后由 ☆枫の云 于 2014-7-2 17:03 编辑

第二行可以是因为,1.5的自动装箱功能,1会从int被自动装箱为Integer,第三行不行是因,这个int数组不会自动装箱,如果是Object[ ] o2 = new Integer[ 5 ];这个就可以。

作者: 曾倩倩    时间: 2014-7-2 15:50
因为a1是int型的数组,无法将int型的数组直接赋值给Object型的
作者: wuguiye    时间: 2014-7-2 15:56
你用一个Object对象数组当然不能指向基本类型int数组,第二行会把 1 装包成为对象




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2