黑马程序员技术交流社区

标题: Arrays工具类中 asList()的问题 [打印本页]

作者: 我手心里的宝    时间: 2013-4-7 17:13
标题: Arrays工具类中 asList()的问题
本帖最后由 我手心里的宝 于 2013-4-8 08:53 编辑

为什么int[] arr = new int[5];
Arrays.asList(arr);
为什么打印的结果是arr的地址值呢?而不是数组里面的元素
求解?
作者: 陈圳    时间: 2013-4-7 17:28
因为当基本类型数组转为一个对象时,一维数组会把这个数组转为一个对象,只有二维数组才是一个对象的数组,这在张孝详老师的视频里有说过的.
当你把int改为integer时也就是一组对象时就正常了.
作者: 刘胜寒    时间: 2013-4-7 17:46
沙发说的对,是基本类型......
作者: 李尧    时间: 2013-4-7 18:02
你可以看一下 asList的参数列表asList(T... a)   
对于1.5新特性来说 这是可变参数,那么传入的arr不会被解开 整个数组被当做list中的一个元素
对于1.4来说,需要传入一个数组来表示多个参数,但是必须是object[]数组.int是基本数据类型,不属于object.于是没法处理.只能用1.5的语法去处理.
这里如果是Integer[]应该就可以了.




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