一般来说,我们平常知道的都是,数值型对象如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. redistemplate 设置永不过期_密码已过期 拒绝访问如何处理?
  2. Linux给用户添加sudo权限
  3. JAVA_OA(五):SpringMVC接受传入页面的参数值
  4. 啊,我南非时间上午10点看成了。。
  5. android 加载更多,如何在android中实现加载更多的recyclerview
  6. 面向对象编程(第五篇)
  7. SQL Server-流程控制 7,Return 语句
  8. AI+药物研发:人工智能赋能新药研发(人工智能应用案例)
  9. Spring基础学习笔记-Bean的基础知识
  10. 如何看屈曲因子_Abaqus 非线性屈曲分析方法
  11. 错误:在keystone中无法找到默认角色user_Kubernetes RBAC角色权限控制
  12. 如何执行字符串的PHP代码
  13. 我们都在深夜,参差不齐地入眠
  14. 什么是容器服务_【小牛云计算课堂】什么是容器镜像服务
  15. Android Studio 3.4功能
  16. 闲谈Python语言入门
  17. pspice仿真错误
  18. windows vcpkg下载慢
  19. java使用aspose将word,excel,ppt转pdf
  20. sql server 计算2个日期相差的 天数,月数,年数,日期运算/计算

热门文章

  1. Java 序列化 transient 、session、cookie
  2. MFC中CFileDialog用法
  3. 关押罪犯(并查集加点问题最详细讲解)
  4. qtp中type方法的按键常量
  5. Shiro 报UnavailableSecurityManagerException
  6. 在手机上体验Windows系统?一个网站就够了
  7. 算法:乐团站位 【模拟 vs 大数】
  8. 2016年最新苹果IOS上架App Store商店步骤
  9. totalcmd简单教程--help详解
  10. 力扣239. 滑动窗口最大值(自定义排序队列)