查看Integer.java类,会发现有一个内部私有类,IntegerCache.java,它缓存了从-128到127之间的所有的整数对象。如果在这个区间内,他就会把变量当做一个变量,放到内存中;但如果不在这个范围内,就会去new一个Integer对象。所以例子中i1和i2指向了一个对象。因此100==100为true。比较Integer的值,比较靠谱的是通过Integer.intValue()这样出来的就是int值,就可以直接比较了,或者equals()比较。

 1 /**
 2  * Created by hunt on 2017/6/3.
 3  */
 4 public class TestInteger {
 5     public static void main(String[] args) {
 6         Integer i1 = 100, i2 = 100;
 7         System.out.println(i1 == i2);//true
 8         Integer i3 = 1000, i4 = 1000;
 9         System.out.println(i3 == i4);//false
10
11
12         System.out.println(i3.intValue() == i4.intValue());//true
13         System.out.println(i3.equals(i4));//true
14
15
16         //Integer  与 int 类型比较(==)比较的是值。
17         int i5 = 1000;
18         System.out.println(i3 == i5);//true
19
20     }
21 }

View Code


转载于:https://www.cnblogs.com/hunt/p/7161042.html

Integer中1000==1000为false而100==100为true相关推荐

  1. java int 128 ==_为什么 Java Integer 中“128==128”为false,而”100==100“为true?

    这是一个挺有意思的讨论话题,让我们用代码说话吧! 运行下面的代码: Integer a = 128, b = 128; System.out.println(a == b); Integer c = ...

  2. 为什么1000 == 1000返回为False,而100 == 100会返回为True?

    转载自:https://www.evget.com/article/2015/11/19/23028.html 这是我们今天要讨论的话题,因为我觉得它非常的有趣. 如果你运行如下代码: Integer ...

  3. 为什么 Java 中“1000==1000”为false,而”100==100“为true?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来自: 码农网 译文链接:http://www.codeceo.c ...

  4. java cache缓存_涨姿势:为什么Java中“1000==1000”为false,而”100==100“为true?

    为什么 Java 中"1000==1000"为false,而"100==100"为true?  这是一个挺有意思的讨论话题. 如果你运行下面的代码: Integ ...

  5. java cache缓存_为什么 Java 中“1000==1000”为false,而”100==100“为true?

    阅读本文大概需要 2 分钟. 来自: 码农网 为什么 Java 中"1000==1000"为false,而"100==100"为true? 这是一个挺有意思的讨 ...

  6. java里false是什么意思_为什么 Java 中“1000==1000”为false,而”100==100“为true?

    为什么 Java 中"1000 == 1000"为false,而"100 == 100"为true? 这是一个挺有意思的讨论话题 如果你运行下面的代码: Int ...

  7. 【JAVA】 Integer变量为什么100 = 100为true,而1000 = 1000为false?

    目录 抛砖 引玉 原因 解释 问题引申 总结 抛砖 我们先看下面这段代码,很多人应该都见过这个题目: Integer a = 100, b = 100;Integer c = 1000, d = 10 ...

  8. 如何实时计算中证1000指数的主买/主卖交易量

    主买是指以卖方的报价成交,主卖是指以买方的报价成交. 一般来说,主动买入就是资金流入,主动卖出就是资金流出,所以实时统计主买/主卖交易量能够实时监控资金的流入流出情况.本文基于中证 1000 指数,介 ...

  9. 多图解读三大股票指数 沪深300、中证500、中证1000有何细节差异

    指数分类的标准有很多,比如说按市场分.按投资标的分.按指数代表性分.从代表性来分类的话,一般可以分为有三类:综合指数.宽基指数.窄基指数. 综合指数是指成分股包含所有上市的股票,以反映全市场的状况,最 ...

最新文章

  1. UNITY所谓的异步加载几乎全部是协程,不是线程;MAP3加载时解压非常慢
  2. Unity教程之-UGUI美术字体的制作与使用
  3. Binary Tree Non-recursive Traversal
  4. 腾讯研发专家:TXSQL如何成为云计算时代数据库核弹头?
  5. java持久性与安全性_Java持久性锁定初学者指南
  6. OpenGL实用开源代码列表
  7. python在材料方面的应用_python记录材料题带标准答案
  8. aes加密c语言实现,基于C语言实现的aes256加密算法示例
  9. 调用DLL找不到函数名或者函数乱码问题
  10. 关于右键新建Word不调用默认模板的问题
  11. win7 计算机 地址栏扫描,Win7系统添加地址栏的两种方法
  12. FRP内网穿透访问家中的NAS和路由器后台
  13. 自旋锁以及Java中的自旋锁的实现
  14. iscroll.js的使用
  15. android应用双开
  16. ELK日志平台搭建(一)
  17. 国际版本Office365与国内版本office365的功能介绍
  18. 英文缩略词——全程及中文含义
  19. 2.Cycle-Dehaze: Enhanced CycleGAN for Single Image Dehazing论文阅读
  20. 基于51单片机的温度报警器

热门文章

  1. eclipse Jsp 自创建tags问题
  2. Android设置全局字体
  3. 代码的抽象三原则【转载】
  4. ASP.NET常用语句1--20条 非常实用
  5. HDU 1800(字典树)
  6. ASP.NET中的事件处理
  7. Python之Pandas库
  8. 基于ZYNQ FPGA实现图像采集存储显示
  9. (50)FPGA状态机描述(三段式)
  10. (41)VHDL实现移位寄存器(方法3)