为了账号安全,请及时绑定邮箱和手机立即绑定

【学习心得】论java的拆箱与装箱

标签:
Java

神马叫拆箱,神马叫装箱呢?

我这里就简单写一写~~

话说百度能百度一堆

装箱与拆箱主要就是类型转化

装箱是将值类型转换为引用类型 ;拆箱是将引用类型转换为值类型~~其实这也是我百度的~~23333333


装箱Integer类型(其他类型相同)

Integer i =1;

拆箱子

int m = i;

--------------------

两个对象之间的对比一般是用 equals ~~对比不同

不能直接双等于

比如说

Integer m = 0;

Integer n = 0;

m==n是完全错误的(正确的写法:m.equals(n))

~~~~但是呢(凡事都有个但是)

(如下是新手会犯的错误)

在一定范围内的数是可以用==来判断一旦超越某个数值就会出错

一般新手不会发现这个问题~~

这个问题的原因是:

如果数值在[-128,127]之间,便返回指向IntegerCache.cache中已经存在的对象的引用;否则创建一个新的Integer对象。
-------------------------

如果是

Integer m = 0;

int n = 0;

m==n 这个是对的~~他会自动拆箱

-------------------------

解释如下:

当 "=="运算符的两个操作数都是包装器类型的引用,则是比较指向的是否是同一个对象

而如果其中有一个操作数是表达式(即包含算术运算)则比较的是数值(即会触发自动拆箱的过程)。

另外,对于包装器类型,equals方法并不会进行类型转换。

点击查看更多内容
15人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
移动开发工程师
手记
粉丝
81
获赞与收藏
3602

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消