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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈帅雷 黑马帝   /  2011-12-22 23:37  /  2125 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 陈帅雷 于 2011-12-23 09:32 编辑

为什么会报错?具体的原因是什么?

评分

参与人数 1技术分 +1 收起 理由
吴上储 + 1

查看全部评分

5 个回复

正序浏览
话说我的竟然不报错
回复 使用道具 举报
张帅 发表于 2011-12-23 00:08
原来如此,

:handshake
回复 使用道具 举报
int 是基本类型,直接存数值 ,integer是对象,用一个引用指向这个对象
1.Java 中的数据类型分为基本数据类型和复杂数据类型
   int 是前者>>integer 是后者(也就是一个类)
2.初始化时
      int i =1;
      Integer i= new Integer(1);(要把integer 当做一个类看)
而我们万能的上帝类能接收的是对象。所以把基本类型扔到对象的容器里这是要出问题的。

回复 使用道具 举报
张帅 黑马帝 2011-12-23 00:08:40
藤椅
为梦而战 发表于 2011-12-22 23:49
a1是一个int数组,int是一个基本数据类型,所以a1中的元素类型是基本数据类型,
o1是一个Object数组 ,Obje ...

原来如此,
回复 使用道具 举报
a1是一个int数组,int是一个基本数据类型,所以a1中的元素类型是基本数据类型,
o1是一个Object数组 ,Object对象类,所以o1中接收的是对象,基本数据类型在没有转成对象类的时候是不能放入Object类数组中去的,
如果你把int类型转换成Integer,这样int类数组中的元素才会装箱成Integer类对象,成能够赋给Object类数组。

评分

参与人数 1技术分 +1 收起 理由
吴上储 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马