Integer的127与128
<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相关推荐
- Integer 用 == 比较时 127 相等 128 不相等
写代码验证到 128 开始不相等 for (int i = 0; i < 150; i++) {Integer a = i;Integer b = i;System.out.println(i ...
- Java: Integer比较127, 128
Java: Integer用==比较时127相等128不相等的原因 Integer数值在 -128 到 127 之间是从缓存中去取值,所以返回的是同一个对象,可以直接Integer==Integer, ...
- integer比较_Java整数缓存Integer.valueOf(127)==Integer.valueOf(127)为True
在一次采访中,我的一个朋友被问到,如果我们有两个整数对象,Integer a = 127; Integer b = 127;为什么要a == b的值为true ?在本文中,我将尝试回答这个问题,并解释 ...
- java int 127_Integer类型中奇怪的127和128
原标题:Integer类型中奇怪的"127"和"128" 今天给大家带来的是Java中Integer类型的自动装箱 自动装箱:就是Java自动将原始类型值转换成 ...
- 为什么 1 字节表示的数值范围是 127 ~ -128
问题 为什么 1 字节表示的数值范围是 127 - -128? 一.基本单位 bit (比特): 表示二进制位,位是计算机内部数据储存的最小单位.一个二进制位可以表 示0, 1两种状态,两个二 ...
- 126届127届128届广交会名录免费送
126届广交会国外采购商名录 127届广交会国外采购商名录 128届广交会国外采购商名录 统统免费送- 此次分享的广交会名录,包含各个行业的国外采购商的邮箱,邮箱质量还是比较高的,适合需要批量开发国外 ...
- 【java】java Integer 缓存 一定是 -128~127 吗
1.概述 我们都知道 java Integer是有缓存的,缓存范围是 -128~127.但是这个值是一定的吗? 不一定.看源码.缓存大小居然可以改变 /*** Cache to support the ...
- Integer的值范围-128~127
看到一道面试题,这个面试题是这样的. public class Foo {public static void main(String[] args) {Integer a = 120,b = 160 ...
- 为什么8位数据范围是-128到127,而不是-127到128?
关注.星标公众号,不错过精彩内容 素材来源:网络 编辑整理:张巧龙 作者:invalid s 链接:https://www.zhihu.com/question/405701348/answer/13 ...
最新文章
- ISE中使用Notepad++的关联设置以及Notepad++的护眼设置(设置背景色)
- 设计模式之-工厂方法模式
- solr6 java_Solr6 快速入门教程
- c语言中规定的标准文件,标准C语言
- 信息学奥赛一本通 1312:【例3.4】昆虫繁殖
- Java基础---File类,就是这么简单
- 使用ShellExecuteEx打开文件或者其他
- QT中QLabel的常见使用方法
- java生成固定长度随机数
- [www.infoshare.cc]【uiautomator】报告简介及查看
- 关于Factory mode test item cannot display的原因
- win10 internet 信息服务器,Win10无internet访问权限怎么解决?Win10无网络解决方法
- LeetCode 285. 二叉搜索树中的中序后继
- [苹果开发者账号]06 转让开发者账号后,开发者年费自动续费问题
- 健康知识竞答线上活动方案——微信答题小程序实现
- MySQL查询——为表和字段取别名
- Redirect组件的使用
- 服务器文件变更监控,监控文件夹变化并ftp到服务器
- 【2019春招】平安科技开发实习生面经
- python-gitlab