黑马程序员技术交流社区

标题: 实现将一个数组变成集合时,小错误一枚,求解 [打印本页]

作者: 张小明    时间: 2011-7-22 23:58
标题: 实现将一个数组变成集合时,小错误一枚,求解
将一个数组变成集合时,
String[] arr = {"abc","haha","heima"}
List<String>list = Arrays.asList(arr);
用System.out.println(list);能正确打印结果。

但是这个语句:int[] nums = {2,4,5};
List<int[]> list = Arrays.asList(nums);
打印list结果却是一个hash值,为什么呢?要怎么改写呢?
作者: 匿名    时间: 2011-7-23 00:56
因为它把int[]整体做为一个obj传给aslist了,这个张老师的视频里有相关的介绍,好像后面JAVA高新技术那个包里的某节课提个这个问题。好像叫数组与Object的关系那个视频里
当传入String[]时,是把String[]里的内容一个个放进list
当传入int[]类型时,是把int[]当作一个obj参数进行处理了。所以打印出来list就只有一个元素,并且是一个数组
要改的话,把int改成Integer就行了。
作者: 匿名    时间: 2011-7-23 01:25
标题: 回复 藤椅 的帖子
谢谢各位解答,我刚重新复习视频了,Arrays的asList()方法,接受一个Object[]数组,所以String可以,而“int等基本数据类型不是Object”就不可以。




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