Integer类==与equals区别与使用
来源:互联网 发布:inpaint mac破解版 编辑:程序博客网 时间:2024/06/06 09:55
输出结果:
true
true
输出结果:
false
true
结论:大家都知道”==“是比较两个变量的值是否相等、对于引用型变量表示的是两个变量在堆中存储的地址是否相同。 equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。
但是为什么等于1的时候==返回是true呢?
也就是说在-128到127之间的值会缓存到IntegerCache.cache中,所以在Integer x=在-128到127之间时,返回的是同一个对象,所以出现了上文的情况。(如果换成 >、>=、<、<=会出现什么情况呢?这中情况会自动拆箱比较值,也就是下面的拆箱操作。)
在看下面代码
输出结果:
true
true
原理:因为与初始化值做比较的时候,会将封装类型进行拆箱操作,转换为基本类型。这里比较的就是基本类型的值了。
阅读全文
0 0
- Integer类==与equals区别与使用
- Integer类==与equals区别与使用
- Java的Integer类型使用==与equals
- Integer下的==与equals
- equals与==区别
- ==与equals()区别
- equals与==区别
- ==与equals()区别
- ==与equals()区别
- ==与equals区别
- ==与equals区别
- equals与==区别
- equals与==区别
- ==与equals区别
- “==“与“equals”区别
- ==与equals区别
- ==与equals区别
- equals与==区别
- 大学生与研究生的关系——“砖”与“建筑”
- 同一函数多次定义同名静态变量问题
- 极大似然法详解
- jzoj 2017.9.16 模拟赛
- 2.21 只考加法的面试题后续1
- Integer类==与equals区别与使用
- 如何解决Windows10下安装Ubuntu16.04双系统后没有Ubuntu引导
- 新手必备的12款Asset Store插件
- 暗影精灵3开机黑屏解决方案
- Murmurhash介绍与实现
- 天天和树
- IO概要的学习
- 一个python写的XML解析器的简单实现
- 笔试题