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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 倪杭乘 中级黑马   /  2012-5-16 18:35  /  2110 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

张老师和毕老师的解释是Object不是int的父类,数组定义了类型,接受int类型不匹配
我的理解是一个数组能就接受他和他子类的数组
Object数组可以接受integer数组,那么1.5以后为什么没有执行自动装箱动作
自动装箱不一定在运算中
在学习集合的时候,将int的变量存入到了集合中就是自动装箱,集合中不能存放基本数据类型
那我就想在这里为什么不能自动装箱,将int类型数组中的各个元素装箱了integer类型,整个数组就是integer类型,就能被Object数组接受
是没有必要还是理解有问题

那么装箱又是在哪些情况下进行,除了一些元算和存入到集合中?

1 个回复

倒序浏览
虽然自动装箱和拆箱实现了基本数据类型和包装类型的自动转换,但int和Integer毕竟是两个不同的类型。
之所以在向集合存入元素时可以自动装箱,是因为集合对存入的元素的类型不做限定,只要是引用数据类型就可以往集合里存,但不能存储基本数据类型。后期出现泛型后,可以指定某个集合只存储某类元素,那么当你向集合存入int类型数据时,会自动包装成Integer类型(因为集合中不能存储int类型数据)。
而对于一个数组而言,既可以存储基本数据类型,又可以存储引用数据类型。int类型的数组和Integer类型的数组绝对是两个概念,所以不会进行自动装箱。
针对楼主的问题:int类型的数字可以自动装箱为Integer类型数据,但int类型的数组绝对不会自动转为Integer类型数组
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马