黑马程序员技术交流社区
标题:
实现将一个数组变成集合时,小错误一枚,求解
[打印本页]
作者:
张小明
时间:
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