Integer类型值相等或不等分析
来源:互联网 发布:淘宝主图平铺拍摄技巧 编辑:程序博客网 时间:2024/04/28 20:36
两个Integer变量,定义为Integer a; Integer b;
如果 Integer a = 123, Integer b = 123,可以返回true
但如果Integer a = 12345, Integer b = 12345,返回false
看下Integer的源码
public static Integer valueOf(int i) { if (i >= IntegerCache.low && i <= IntegerCache.high) return IntegerCache.cache[i + (-IntegerCache.low)]; return new Integer(i);}
默认IntegerCache.low 是-128,Integer.high是127,如果在这个区间内,他就会把变量i当做一个变量,放到内存中;
但如果不在这个范围内,就会去new一个Integer对象,
在1中Integer值在这个范围内,直接使用IntegerCache中的值进行比较在2中Integer值不在这个范围内,new了两个实例,这样再用==,肯定是false。
Integer 类型的值在[-128,127] 期间,Integer 用 “==”是可以的, Integer 与 int 类型比较(==)比较的是值。
另一种情况 int 与 integer 比较:
Integer e = 128; int e1 = 128; (e == e1 ----- true)引用类型Integer与值类型int比较,比较的是各自的value,因为int在堆中是不开辟内存,他在栈中的值则为他本身的值
阅读全文
0 0
- Integer类型值相等或不等分析
- Integer类型值相等或不等分析
- Integer类型值相等或不等分析
- PHP判断字符串相等或不等
- integer 类型比较相等
- Integer类型数据相等问题
- Integer类型数据相等问题
- Integer类型数据相等问题
- 判断Integer或Long值相等最好不用==
- Oracle PL/SQL判断两个字段相等或不等问题
- Oracle PL/SQL判断两个字段相等或不等问题
- C#相等类型分析
- java相等还是不等
- Integer类型的对象相等的问题
- .net类型对象相等分析
- Javascript 中的相等与不等
- Javascript 中的相等与不等
- Javascript 中的相等与不等
- 删除文件后,磁盘空间没有释放的处理记录
- hook函数实例分析--sys_seteuid调用
- ICCV 2015 Learning to Track: Online Multi-Object Tracking by Decision Making 代码配置问题及解决方法
- 文件系统和文件结构
- Leetcode 718. Maximum Length of Repeated Subarray(第九周作业)
- Integer类型值相等或不等分析
- java 常用类介绍
- ssm配置文件
- 冯诺依曼结构和哈佛结构
- Linux虚拟文件系统(VFS)
- 获取Spring上下文即ApplicationContext
- HEVC代码学习31:xCheckRDCostMerge2Nx2N函数
- AD原理图再学笔记
- Vue.js解析(六)【Virtual DOM与diff(Vue.js实现)】