原文:Integer类型值相等或不等分析

看到博客园一位博友写的面试问题,其中一题是 Integer a Integer b a b true :false 当时我一看,这不是明显的true 嘛, 看到评论讨论才知道,对于Integer值比较 有范围规定 。平时都是用equals做比较判断,简单省事。没注意到这些细节。正好趁此机会好好谷歌了一下,以此做个备份。 用以下代码做测试 得出的结论是 Integer 类型的值在 , 期间,Int ...

2016-08-17 03:18 8 7466 推荐指数:

查看详情

Java判断Integer类型是否相等

我们知道Integer是int的包装类,在jdk1.5以上,可以实现自动装箱拆箱,就是jdk里面会自动帮我们转换,不需要我们手动去强转,所以我们经常在这两种类型中随意写,平时也没什么注意 但Integer他是对象,我们知道 == 比较的是堆中的地址,但有个奇怪的事是, 如果 Integer ...

Thu Jun 13 18:37:00 CST 2019 0 3807
Java判断两个Integer类型是否相等

  当数值范围是[-128,127],比如a=12,b=12,用==去比较得出的是true;当数值范围超出[-128,127],比如a=12345,b=12345,用==得出的结果是false。   因为超出范围时,Integer会去new一个对象,比较的是两个对象的地址。   建议 ...

Thu Jun 04 02:09:00 CST 2020 0 1909
判断Integer相等不能用==

今天在开发中判断两个Integer相等Integer a = 3; Duixiang duixiang = new Duixiang(); duixiang = DAO.getDuixiang(); Integer b = duixiang.getB ...

Thu May 18 01:29:00 CST 2017 0 2163
Long类型 Integer类型 比较相等

如果Long在[-128, 127]之间,会放在缓存里面,而超过这个范围就要new一个新的对象,也就是说==不能判断对象是否相等Integer i = XXX ,就是Integer i = Interger.valueOf(XXX), 首先判断XXX 是否在-128-127 之间 ...

Fri Aug 17 19:37:00 CST 2018 0 756
Integer判断是否相等问题

在开发中遇到一个问题,定义了两个Integer变量,暂且定义为Integer a; Integer b; 这两个由前端赋值并传到后台,前台传的是a = 12345, b = 12345, 但我在后台比较的时候 if (a == b),却返回false,后来改为equals(),返回true ...

Wed Apr 15 17:47:00 CST 2020 0 797
Integer 类型数值判断相等的坑

题目: 输出结果: true false 结论: 1. 如果没有通过属性配置high的,这默认为127。low的为-128。 2. Integer 类型在[-128,127] 区间,用 “==”则为true。 其他都是通过new Integer(i)返回 ...

Fri Nov 02 22:32:00 CST 2018 0 902
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM