Arrays类的contains代码疑问

mier0713 2011-07-29 11:40:38
大家能看出下面的代码输出什么?
为什么?

int[] arr = new int[]{1,2,3};
System.out.println(Arrays.asList(arr).contains(1));

ps:答案其实一运行就知道,我比较想知道为什么,具体原因
...全文
52 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zl3450341 2011-07-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 alexandertech 的回复:]

int[] arr = new int[]{1,2,3};
-->
Integer[] arr = {1,2,3};

因为Arrays.asList的参数是对象数组
int不是对象,所以它把int[]整个当成一个对象,创建了只有一个元素的List<int[]>
改写后才能创建你想要的List<Integer>
[/Quote]
你。。。。你。。。。你。。。。 欺负我网慢
人家的回复跟你一样。。。被你抢先了
飞跃颠峰 2011-07-29
  • 打赏
  • 举报
回复
int[] arr = new int[]{1,2,3};
-->
Integer[] arr = {1,2,3};


因为Arrays.asList的参数是对象数组
int不是对象,所以它把int[]整个当成一个对象,创建了只有一个元素的List<int[]>
改写后才能创建你想要的List<Integer>
zn85600301 2011-07-29
  • 打赏
  • 举报
回复
改成 System.out.println(Arrays.asList(arr).contains(arr));
因为转成的list 里面是int[] 对象

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧