A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 为梦想而活着 中级黑马   /  2014-7-26 11:07  /  1590 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 为梦想而活着 于 2014-7-27 14:40 编辑

               //int[] nums = {2,4,5};
                Integer []nums = {2,4,5};
//毕老师说这是自动装箱,我不是很懂,百度了一下,说自动装箱是将基本数据类型转成引用数据类型并赋给引用变量,还是不太明白
                List<Integer> li=Arrays.asList(nums);
//list集合中加入的泛型为Integer,毕老师说:如果数组中的元素都是基本数据类型,那么会将该数组作为集合中的元素存在。

                System.out.println(li);


还有一句话:如果数组中的元素都是对象。那么变成集合时,数组中的元素就直接转成集合中的元素。


有没有人能帮帮我,毕老师要表达的是什么意思?非常感谢~~

2 个回复

倒序浏览

回帖奖励 +2

本帖最后由 范龙波 于 2014-7-27 13:02 编辑

List<Integer> li=Arrays.asList(nums);  //int[] nums = {2,4,5}; 表示的是基本数据类型的数组  Integer []nums = {2,4,5};表示的是 Integer对象的数组不是基本数据类型

还有一句话:如果数组中的元素都是对象。那么变成集合时,数组中的元素就直接转成集合中的元素。
个人认为,数组是一个容器,集合也是一个容器,如果数组中的元素师对象那么转到集合中还是对象只是把一个杯子里面的水,放到一个水壶中去而已里面的水还是原来的水。如果数组中的元素是基本数据类型的话,由于集合中不能存储基本数据类型,所以在转入集合中的时候会将基本数据类型向上转型成基本数据类型的对象形式。最主要原因是因为集合中不能存储基本数据类型。所以需要向上转型。
回复 使用道具 举报
范龙波 发表于 2014-7-27 12:59
List li=Arrays.asList(nums);  //int[] nums = {2,4,5}; 表示的是基本数据类型的数组  Integer []nums = { ...

嗯,好像明白了,非常感谢!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马