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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 欧德林 中级黑马   /  2012-4-28 11:04  /  2200 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

定义一些数组
int [] a1= new int[3];
int [] a2 =new int [4];
int [] a3 =new int [2][3];
String [] a4 =new String [4];

然后用Object 再定义
Object Obj1 =a1;
Object Obj2 =a4;
Object []Obj3 =a1;//为什么这个不行?int 不是Object类型吗?
Object []Obj4=a3;  
Object[] Obj5 =a4;这个和Obj3 不是一样的吗,一个是String类型的数组,一个是int类型的数组 ?

7 个回复

倒序浏览
int不是引用类型,,所以不能object对象,数组的数组可以,
回复 使用道具 举报
int [] a1= new int[3];
int [] a2 =new int [4];
int [] a3 =new int [2][3];   //数组a3是个一维数组,但=后面new出的却是二维数组
String [] a4 =new String [4];

Object Obj1 =a1;
Object Obj2 =a4;
Object []Obj3 =a1;//应该把数组类型a1定义成int的包装类Integer,Object是Integer的父类
Object []Obj4=a3;  
Object[] Obj5 =a4; //Object是java中所有类的父类
正确的代码是
Integer [] a1= new Integer[3];
int [] a2 =new int [4];
Integer [] a3 =new Integer [2];
String [] a4 =new String [4];

Object Obj1 =a1;
Object Obj2 =a4;
Object []Obj3 =a1;
Object []Obj4=a3;  
Object[] Obj5 =a4;
回复 使用道具 举报
1.jvm默认数组中的基本数据类型不为对象,数组中基本类型的包装类
如:int的包装类Integer为Object
2.String[]中装的是String,他的父类就是Object,可以作为对象
回复 使用道具 举报
int 与Integer区别
int是基本数据类型,而Integer是包装类
Object是所有类的父类,因此它是Integer的父类,而不是int
回复 使用道具 举报
上边的哥们说的都很不错!{:soso_e112:}
回复 使用道具 举报
因为int是基本数据类型需要装箱后才能成为object的子类,所以不能直接与object运算;String能运算是因为String是一个引用数据类型;
回复 使用道具 举报
定义一些数组
int [] a1= new int[3];
int [] a2 =new int [4];
int [] a3 =new int [2][3];
String [] a4 =new String [4];

然后用Object 再定义
Object Obj1 =a1;
Object Obj2 =a4;
Object []Obj3 =a1;//为什么这个不行?int 不是Object类型吗?   int为基本类型 若使用其封装类 Integer的话 应该不存在这种问题了
Object []Obj4=a3;  
Object[] Obj5 =a4;这个和Obj3 不是一样的吗,一个是String类型的数组,一个是int类型的数组 ?   String 不属于基本数据类型 其父类依然为Object 所以跟上边的不一样
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马