今天刚好遇到这样的问题,别的不说,先上代码

public class TestInteger {

    public static void main(final String[] args) {
final Integer a = 500;
final Integer b = 500;
final Integer c = 100;
final Integer d = 100;
System.out.println("a=b :" + (a == b));
System.out.println("c=d :" + (c == d));
} }

大家看一下这一段代码,是不是很简单呢。大家心里也有答案了吧?好的,看一下我们运行之后的答案

a=b :false
c=d :true

是不是有点意外,这是为什么呢?来简单说一下这个

  • java中Integer类型对于-128-127之间的数是缓冲区取的,所以用等号比较是一致的。
  • 但对于不在这区间的数字是在堆中new出来的对象。所以地址空间不一样,也就不相等。

所以以后如果我们碰到这种需要怎么去比较两个integer里面的值呢。

Integer b3=60,这是一个装箱过程也就是Integer b3=Integer.valueOf(60)。以后碰到Integer比较值是否相等需要用intValue()。 这样才是比较两个值。如果没用就相当于两个对象的存储地址比较。

关于 Integer 值比较的问题的更多相关文章

  1. 问题-MyBatis不识别Integer值为0的数据

    问题-MyBatis不识别Integer值为0的数据 问题:使用MyBatis的过程中,发现一个值为0的数据,Mybatis所识别,最后定位才发现,是自己的写法有问题, <if test=&qu ...

  2. 判断Integer值相等最好不用==(未整理)

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

  3. SQL3120W 不能将xx的字段值转换成 INTEGER值

    一次用DB2 Load/Import导入数据时,报错,提示SQL3120W 不能将xx的字段值转换成 INTEGER值,但目标列不可为空.未装入该行. 目标表: CREATE TABLE TEST( ...

  4. 判断Integer值相等不能用==

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

  5. Integer值判断是否相等问题

    昨天在开发中遇到一个问题,定义了两个Integer变量,暂且定义为Integer a;  Integer b; 这两个值由前端赋值并传到后台,前台传的是a = 12345, b = 12345,  但 ...

  6. Mybatis中 Integer 值为0时,默认为空字符串的解决办法。

    需求是查询级别为0的用户 User对象里的level字段的值为0,查询时居然没有查到为level为0的用户. <select id="selectSelective" par ...

  7. [Java]判断Integer值相等最好不用==最好使用equals

    测试代码 Integer c = ; Integer d = ; Integer e = ; Integer f = ; System.out.println(c == d); System.out. ...

  8. 判断Integer值相等最好不用==最好使用equals

    Integer c = 3;Integer d = 3;Integer e = 321;Integer f = 321;System.out.println(c == d);System.out.pr ...

  9. 摘录-Mybatis - Integer值为0的数据 return false

    Mybatis在进行<if test="status != null and status != ''">判空操作时,如果status为0的时候,该判断条件的值为fal ...

随机推荐

  1. centos6.x上安装Java-1.8.0

    author : headsen chen date : 2017-12-04  10:32:44 notice :This  article is created by headsen chen h ...

  2. PHP实现KMP算法

    KMP算法是一种比较高效的字符串匹配算法,关于其讲解,可参考文章 字符串匹配的KMP算法,本文只给出具体的PHP代码实现. /** * @desc构建next数组 * @param string $s ...

  3. maven依赖大全

    1.oracle mysql驱动 <!-- mysql驱动支持 --> <dependency> <groupId>mysql</groupId> &l ...

  4. 笔记:MyBatis XML配置-typeHandlers 默认类型处理器

    类型处理器 Java 类型 JDBC 类型 BooleanTypeHandler java.lang.Boolean, boolean 数据库兼容的 BOOLEAN ByteTypeHandler j ...

  5. (floyd)佛洛伊德算法

    Floyd–Warshall(简称Floyd算法)是一种著名的解决任意两点间的最短路径(All Paris Shortest Paths,APSP)的算法.从表面上粗看,Floyd算法是一个非常简单的 ...

  6. react 实用的性能优化方式

    react 组件渲染分为初始化渲染和更新渲染,当我们更新某个组件的时候,只是想关键路径上组件的render,但react的默认做法是调用所以组件的reder,再生成虚拟dom进行对比,如不变则不进行更 ...

  7. linux --> Makefile编写

    Makefile编写 单目录 测试程序在同一个文件中,共有func.h.func.c.main.c三个文件,Makefile写法如下所示: CC = gcc CFLAGS = -g -Wall mai ...

  8. centos-6.7 内核升级(转)

    本文转自http://www.linuser.com/thread-1622-1-1.html 默认centos-6.7 自带的内核版本: [root@testserver ~ ::]#uname - ...

  9. CSS奇思妙想图形(心形、气泡三角形、切角、梯形、饼图等)

    今天看到一篇不错文章,在原来CSS3图形创建基础上扩展了很多. 这里记录总结下 心形 原理:利用 圆形 和 正方形实现 HTML: <div class="heartShaped&qu ...

  10. id 选择器

    id 选择器 1.id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式. (即也可以说,可以将已经预先定义的特定样式,通过id选择器,赋值指向HTML 元素) 2.HTML元素以id属性 ...