<span style="font-family: 微软雅黑, Verdana, sans-serif, 宋体; font-size: 14px; background-color: rgb(241, 248, 240);">JVM会自动维护八种基本类型的常量池,int常量池中初始化</span><span style="padding: 0px; margin: 0px; font-family: 微软雅黑, Verdana, sans-serif, 宋体; font-size: 14px;">-128~127的范围,所以当为Integer i=127时,在自动装箱过程中是取自常量池中的数值,而当<span style="padding: 0px; margin: 0px;">Integer i=</span>128时,128不在常量池范围内,所以<span style="padding: 0px; margin: 0px;">在自动装箱过程中</span>需new 128,所以地址不一样。</span>

public class Test {public static void main(String[] args) {Integer i1 = new Integer(1);Integer i2 = new Integer(1);System.out.println(i1 == i2);//falseInteger i3 = 127;Integer i4 = 127;System.out.println(i3 == i4);//trueInteger i5 = 128;Integer i6 = 128;System.out.println(i5 == i6);//falseint i7 = 128;int i8 = 128;System.out.println(i7 == i8);//true}
}

对于较小数值的整型,在处理自动装箱的时候,采用常量池里面的值以节省内存,而大数值则是重新new出来的。这里刚好是分界线。

//Boolean类也实现了常量池技术Boolean bool1=true;Boolean bool2=true;System.out.println(bool1==bool2); //输出true//浮点类型的包装类没有实现常量池技术Double d1=1.0;Double d2=1.0;System.out.println(d1==d2); //输出false

Integer的127与128相关推荐

  1. Integer 用 == 比较时 127 相等 128 不相等

    写代码验证到 128 开始不相等 for (int i = 0; i < 150; i++) {Integer a = i;Integer b = i;System.out.println(i ...

  2. Java: Integer比较127, 128

    Java: Integer用==比较时127相等128不相等的原因 Integer数值在 -128 到 127 之间是从缓存中去取值,所以返回的是同一个对象,可以直接Integer==Integer, ...

  3. integer比较_Java整数缓存Integer.valueOf(127)==Integer.valueOf(127)为True

    在一次采访中,我的一个朋友被问到,如果我们有两个整数对象,Integer a = 127; Integer b = 127;为什么要a == b的值为true ?在本文中,我将尝试回答这个问题,并解释 ...

  4. java int 127_Integer类型中奇怪的127和128

    原标题:Integer类型中奇怪的"127"和"128" 今天给大家带来的是Java中Integer类型的自动装箱 自动装箱:就是Java自动将原始类型值转换成 ...

  5. 为什么 1 字节表示的数值范围是 127 ~ -128

    问题   为什么 1 字节表示的数值范围是 127 - -128? 一.基本单位 bit (比特): 表示二进制位,位是计算机内部数据储存的最小单位.一个二进制位可以表   示0, 1两种状态,两个二 ...

  6. 126届127届128届广交会名录免费送

    126届广交会国外采购商名录 127届广交会国外采购商名录 128届广交会国外采购商名录 统统免费送- 此次分享的广交会名录,包含各个行业的国外采购商的邮箱,邮箱质量还是比较高的,适合需要批量开发国外 ...

  7. 【java】java Integer 缓存 一定是 -128~127 吗

    1.概述 我们都知道 java Integer是有缓存的,缓存范围是 -128~127.但是这个值是一定的吗? 不一定.看源码.缓存大小居然可以改变 /*** Cache to support the ...

  8. Integer的值范围-128~127

    看到一道面试题,这个面试题是这样的. public class Foo {public static void main(String[] args) {Integer a = 120,b = 160 ...

  9. 为什么8位数据范围是-128到127,而不是-127到128?

    关注.星标公众号,不错过精彩内容 素材来源:网络 编辑整理:张巧龙 作者:invalid s 链接:https://www.zhihu.com/question/405701348/answer/13 ...

最新文章

  1. ISE中使用Notepad++的关联设置以及Notepad++的护眼设置(设置背景色)
  2. 设计模式之-工厂方法模式
  3. solr6 java_Solr6 快速入门教程
  4. c语言中规定的标准文件,标准C语言
  5. 信息学奥赛一本通 1312:【例3.4】昆虫繁殖
  6. Java基础---File类,就是这么简单
  7. 使用ShellExecuteEx打开文件或者其他
  8. QT中QLabel的常见使用方法
  9. java生成固定长度随机数
  10. [www.infoshare.cc]【uiautomator】报告简介及查看
  11. 关于Factory mode test item cannot display的原因
  12. win10 internet 信息服务器,Win10无internet访问权限怎么解决?Win10无网络解决方法
  13. LeetCode 285. 二叉搜索树中的中序后继
  14. [苹果开发者账号]06 转让开发者账号后,开发者年费自动续费问题
  15. 健康知识竞答线上活动方案——微信答题小程序实现
  16. MySQL查询——为表和字段取别名
  17. Redirect组件的使用
  18. 服务器文件变更监控,监控文件夹变化并ftp到服务器
  19. 【2019春招】平安科技开发实习生面经
  20. python-gitlab

热门文章

  1. MySQL 在高并发下的 订单撮合 系统使用 共享锁 与 排他锁 保证数据一致性
  2. 创建Podfile,添加类库,中途添加库指令
  3. 关于docker环境下mysql的使用相关
  4. 深入浅出-iOS程序性能优化
  5. 【C】课堂结对联系-求整数数组的子数组之和的最大值(党云龙、黄为)
  6. linux 桌面使用体验 远程访问win for linux
  7. 信息学奥赛一本通(2024:【例4.10】末两位数)
  8. 信息学奥赛一本通(1009:带余除法)
  9. 数论 —— 佩尔方程与连分数
  10. 分段函数(信息学奥赛一本通-T1051)