黑马程序员技术交流社区
标题:
包装类中的装箱和拆箱怎样理解?
[打印本页]
作者:
Hello_Boys
时间:
2014-12-17 09:13
标题:
包装类中的装箱和拆箱怎样理解?
包装类中的装箱和拆箱怎样理解?
作者:
张周飞
时间:
2014-12-17 09:38
本帖最后由 张周飞 于 2014-12-17 09:41 编辑
1:拆箱是把“引用”类型 转换成 “值”类型;
装箱就是把基础类型封装成一个类。比如把int封装成Integer,这时你就不能把他当成一个数了,而是一个类了,对他的操作就需要用它的方法了。
2:装箱是把“值”类型 转换成 “引用
”
类型;
拆箱就是把类转换成基础类型。比如你算个加法什么的是不能用类的,就得把它转换成基本类型,jdk5以后已经可以自动转换了貌似。基本类型你应该懂的吧,就那八种
有时某些方法的参数要求使用“引用”类型,而你想把“值”类型的变量通过这个参数传入,就需要使用这个操作。
我知道和C#.NET里的概念是一样的
一个是包装类,一个是数据类型,这是面向对象思想的产物,一切皆对象,所以数据也可以是对象,这就产生了java中自动装箱和拆卸功能,装箱就是将数据类型定义的变量转换为包装类,拆箱将类转换为数据类型定义的数据,。。。。。。,希望可以有助于你的理解
int是基本数据类型,integer是包装类,属于引用类型,可以创建对象
:在集合中定义的泛型 只能是对象!!包装类 就是可以创建对象 ,基本数据类型不可以!!!
作者:
金福林
时间:
2014-12-17 09:53
就是类型转换嘛,想那么难干什么
作者:
南柯一梦境
时间:
2014-12-17 10:05
其实这个我也不太明白,学习了,感谢
作者:
edidada
时间:
2014-12-17 23:42
我个人是这样理解的
包装类以Integer为例,数据类型以int为例
编程语言以前不是面向对象的,数据的类型有int等等
编程语言发展到拥有面向对象的特性后,将数据类型也演进成了对象 int->integer
个人笼统的认为,Integer比int高级,Integer有很多方法来操作,而int没有
作者:
我只是一只菜鸟
时间:
2014-12-18 12:11
看评论学习了
作者:
jxlovqqvo
时间:
2014-12-18 13:44
装箱就是把一个基本数据类型封装成类,拆箱就是把这个类用自己带的方法把基本数据类型的值在给你,只不过这些都是自动完成的,不需要你手动去操作
作者:
duluhua
时间:
2014-12-18 20:21
我的理解是,数据类型间的转换。
1.数据类型分为基本数据类型和引用数据类型。
2.而基本数据类型一般都有其对应的应用数据类型。比如
基本数据类型 int 对应的是引用数据类型是 Integer
基本数据类型 long 对应的引用数据类型是 Long
。。。。。。
3.装箱应该就是把基本数据类型转为引用数据类型,比如把int转为Integer
拆箱的话,应该是相反的过程,如把Integer转为int
4.在Java中实现了拆箱和装箱的自动转换,比如 你可以写Integer i = 1; 因为1是int基本数据类型,而i是Integer引用数据类型,Integer i= 1;就自动把int转为Integer了。
5.主要是基本数据类型和引用数据类型的应用场景是不一样的。基本数据类型就是单一的一个值,而引用数据类型就是一个对象了,对于对象,我们 可以使用对象的方法和属性
6.感觉应该就是这些区别吧
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2