Integer中1000==1000为false而100==100为true
查看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相关推荐
- java int 128 ==_为什么 Java Integer 中“128==128”为false,而”100==100“为true?
这是一个挺有意思的讨论话题,让我们用代码说话吧! 运行下面的代码: Integer a = 128, b = 128; System.out.println(a == b); Integer c = ...
- 为什么1000 == 1000返回为False,而100 == 100会返回为True?
转载自:https://www.evget.com/article/2015/11/19/23028.html 这是我们今天要讨论的话题,因为我觉得它非常的有趣. 如果你运行如下代码: Integer ...
- 为什么 Java 中“1000==1000”为false,而”100==100“为true?
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来自: 码农网 译文链接:http://www.codeceo.c ...
- java cache缓存_涨姿势:为什么Java中“1000==1000”为false,而”100==100“为true?
为什么 Java 中"1000==1000"为false,而"100==100"为true? 这是一个挺有意思的讨论话题. 如果你运行下面的代码: Integ ...
- java cache缓存_为什么 Java 中“1000==1000”为false,而”100==100“为true?
阅读本文大概需要 2 分钟. 来自: 码农网 为什么 Java 中"1000==1000"为false,而"100==100"为true? 这是一个挺有意思的讨 ...
- java里false是什么意思_为什么 Java 中“1000==1000”为false,而”100==100“为true?
为什么 Java 中"1000 == 1000"为false,而"100 == 100"为true? 这是一个挺有意思的讨论话题 如果你运行下面的代码: Int ...
- 【JAVA】 Integer变量为什么100 = 100为true,而1000 = 1000为false?
目录 抛砖 引玉 原因 解释 问题引申 总结 抛砖 我们先看下面这段代码,很多人应该都见过这个题目: Integer a = 100, b = 100;Integer c = 1000, d = 10 ...
- 如何实时计算中证1000指数的主买/主卖交易量
主买是指以卖方的报价成交,主卖是指以买方的报价成交. 一般来说,主动买入就是资金流入,主动卖出就是资金流出,所以实时统计主买/主卖交易量能够实时监控资金的流入流出情况.本文基于中证 1000 指数,介 ...
- 多图解读三大股票指数 沪深300、中证500、中证1000有何细节差异
指数分类的标准有很多,比如说按市场分.按投资标的分.按指数代表性分.从代表性来分类的话,一般可以分为有三类:综合指数.宽基指数.窄基指数. 综合指数是指成分股包含所有上市的股票,以反映全市场的状况,最 ...
最新文章
- UNITY所谓的异步加载几乎全部是协程,不是线程;MAP3加载时解压非常慢
- Unity教程之-UGUI美术字体的制作与使用
- Binary Tree Non-recursive Traversal
- 腾讯研发专家:TXSQL如何成为云计算时代数据库核弹头?
- java持久性与安全性_Java持久性锁定初学者指南
- OpenGL实用开源代码列表
- python在材料方面的应用_python记录材料题带标准答案
- aes加密c语言实现,基于C语言实现的aes256加密算法示例
- 调用DLL找不到函数名或者函数乱码问题
- 关于右键新建Word不调用默认模板的问题
- win7 计算机 地址栏扫描,Win7系统添加地址栏的两种方法
- FRP内网穿透访问家中的NAS和路由器后台
- 自旋锁以及Java中的自旋锁的实现
- iscroll.js的使用
- android应用双开
- ELK日志平台搭建(一)
- 国际版本Office365与国内版本office365的功能介绍
- 英文缩略词——全程及中文含义
- 2.Cycle-Dehaze: Enhanced CycleGAN for Single Image Dehazing论文阅读
- 基于51单片机的温度报警器