一般来说,我们平常知道的都是,数值型对象如Integer比较,会有装箱和拆箱的过程。而且代码中很容易就会写出

Integer a = xxService.getId()

Integer b =yyService.getId();

If(a==b){

}

其中上面这样写是有问题的,我们来看下两段代码

代码一:

Integer a = 1000;

Integer b = 1000;

if (a == b) {

System.out.println("true");

} else {

System.out.println("false");

}

代码二:

Integer c = 100;

Integer d = 100;

if (c == d) {

System.out.println("true");

} else {

System.out.println("false");

}

运行这两段代码结果的时候,你会发现结果是不同的

第一段是 false

第二段是 true

为什么会这样呢???

其实这是因为在Java的自动打包中,要求boolean、byte、char 介于-128~127之间的int和short被包装到固定的对象中,第一段1000显然超出这个范围了,所以结果是false。而第二段100在这个范围内,结果才是true

上面这样的情况,其实在开发中我们是不确定的,而且不希望发生的,所以要比较整型数字是否相等的时候可以有以下两种

第一种:用对象的equals方法

public boolean equals(Object obj) 比较此对象与指定对象。

当且仅当参数不为 null,并且是一个与该对象包含相同 int 值的 Integer 对象时,结果为 true。

上面代码中比较的地方可以改为:a.equal(b)

第二种:可以将Integer的数值取出来比较,a.intValue();

a.intValue()==b.intValue()

java 判断integer相等_Java Integer判断是否相等相关推荐

  1. java equal 不等于_java Integer判断相等只能使用equals(不能使用==)

    java Integer包装类和基础类型int,相互之间都可以使用==判断相等,平时没注意不能使用==,也不会轻易报错,但是实际只能用equals,而int之间就没得选,只能==. 测试代码 Inte ...

  2. java integer 相等_Java Integer.equals()判断相等

    首页 > 基础教程 > 常用类 > 常用 Integer类 Java Integer.equals()判断相等 Java中判断Integer是否相等可以用equals()或者&quo ...

  3. java能否构成三角形_java中判断三个参数是否能构成三角形的方法

    java中判断三个参数是否能构成三角形的方法 发布时间:2020-06-25 14:02:58 来源:亿速云 阅读:171 作者:Leah 这篇文章将为大家详细讲解有关java中判断三个参数是否能构成 ...

  4. java 文件目录是否存在_java中判断文件目录是否存在的方法

    java中判断文件目录是否存在的方法 发布时间:2020-06-23 09:34:47 来源:亿速云 阅读:72 作者:Leah 本篇文章展示了java中判断文件目录是否存在的方法具体操作,代码简明扼 ...

  5. java 校验文件类型_java如何判断一个文件的类型 | 学步园

    用文件头判断.直接读取文件的前几个字节. 常用文件的文件头如下: JPEG (jpg),文件头:FFD8FF PNG (png),文件头:89504E47 GIF (gif),文件头:47494638 ...

  6. java 判断 中文字符_java中判断字符串中是否有中文字符

    package com.meritit.test; public class TestChart { public static void main(String[] args) throws Exc ...

  7. java socket 对方关闭_java Socket判断对方是否已关闭连接

    如何判断远端socket是否已经断开连接,如果断开那么需要重新连接. 1通过socket类的方法isClosed().isConnected().isInputStreamShutdown().isO ...

  8. java 判断全角_Java如何判断字符串中包含有全角,半角符号

    首先介绍下全角跟半角之间的区别: 在计算机屏幕上,一个汉字要占两个英文字符的位置,人们把一个英文字符所占的位置称为"半角",相对地把一个汉字所占的位置称为"全角" ...

  9. java判定成绩等级_Java编程判断一组学生成绩等级

    首先需要说明,本代码使用的判断方式是每个学生成绩与最高学生成绩的差来判断等级 eg:最高成绩98(最高成绩等级为A) 87为B: 77为C: 67为D: 47为D: 代码如下: import java ...

最新文章

  1. 湖南长郡2021高考成绩查询时间,2021年湖南新高考六校、长郡十五校联考时间公布...
  2. python eval 入门_Python学习笔记整理3之输入输出、python eval函数
  3. erosa mysql_MySQL协议和canal实现
  4. securecrt哪个版本好用_电脑跑分测试软件哪个好?好用的电脑跑分软件推荐
  5. 数据挖掘—K-中心点聚类算法(Java实现)
  6. u852日期限制解决补丁_《赛博朋克》1.06补丁出炉:进一步提升主机版本稳定性...
  7. 使用MAT工具分析内存溢出
  8. MBIST:用于嵌入式存储器的可测试设计技术
  9. POJ 1637 混合图欧拉回路
  10. win8游戏开发教程开篇
  11. 在线英英词典完整代码
  12. 谷歌高管地震:谷歌大脑联合创始人Samy Bengio离职了
  13. 51单片机间接寻址C语言,51单片机寄存器间接寻址方式与举例
  14. 罗技无线键盘Windows和Ubuntu下锁定Fn键方法
  15. 快速原型工具,帮你从0开始画原型图!
  16. java判断小数位数_java-使用BigDecimal确定小数位数
  17. 【转】Android兼容性测试的一些坑
  18. 新技术加速隐私暴露,我们该怎么办?(二)
  19. 教你如何用PCtoLCD2002生成字模以及软件的下载
  20. Linux中if语句用法总结

热门文章

  1. 推荐 5 个 火火火火 的 CSS 项目
  2. 你评论,我赠书~【哈士奇赠书 - 13期】-〖Python程序设计-编程基础、Web开发及数据分析〗参与评论,即可有机获得
  3. full GC触发的条件
  4. Linux源代码逐条解释,Linux内核源代码解释让你真正了解linux.ppt
  5. SAS实验四 一元回归分析
  6. 遗传算法——通俗讲解,轻松掌握
  7. 【genius_platform软件平台开发】第四十二讲:18年开发微信小游戏的时候碰碰车服务器端源码免费贡献
  8. Python 幸运数字
  9. 车库门遥控器(拷贝型)
  10. 【电源专题】开关模式电源电流检测——电流检测方法