黑马程序员技术交流社区
标题:
关于数组的问题
[打印本页]
作者:
jiangyutc
时间:
2014-2-8 09:45
标题:
关于数组的问题
int[] x = {1,2,3,4,5};
Object[] obj = x;
为什么不行呢?麻烦将详细点谢谢!
String[] x1 = {"1","2","3","4","5"};
Object[] obj1 = x1;
为什么可以呢?
作者:
黄晓东
时间:
2014-2-8 10:45
你首先要搞清楚基本数据类型和引用数据类型。一个数据是放在堆 一个是放在栈。
作者:
e.c
时间:
2014-2-8 14:47
我的离解:应该是没有将数组里的整数常量自动装箱。所以不能把in[]给Object[];字符串常本来就是对象。所以字符串数组可以直接给Object数组。
但下面这样是可以的:
Object obj = 1; //将1自动装箱成Integer对象再给obj
Integer[] integer = {1};
Object[] objs = integer;
int[] i={1};
obj = i; //将一个整形数组对象给obj
作者:
也,许。
时间:
2014-2-8 14:47
int[ ]中存放的数据是int类型的,int类型为基本数据类型,Object[ ]中存放的是obj,是引用数据类型,类型不一致。
而String[ ]中存放的是String类型,String类型为引用数据类型。
作者:
廉伟杰
时间:
2014-2-8 16:29
int是基本数据类型,而object是类是引用数据类型,String是类也是引用数据类型,所以int不能给object而String可以给object
作者:
张志明
时间:
2014-2-8 21:20
int是基本数据类型,object是所有类的父类。。。
建议使用,int的封装类,Integer
然后强制转换就可以的,
Integer [] x = {1,2,3,4,5};
Object[] obj = (Integer )x;
进黑马29期,努力每一天~!!!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2