废话不多说了,直接给大家贴代码,具体代码如下所示:
package com.test;
public class Test {
public static void main(String []args) {
Integer a = 100;//此处若使用new,则==值必为false
Integer b = 100;
System.out.println(a==b);//true
Integer c = 150;
Integer d = 150;
System.out.println(c==d);//false
}
}
这是什么原因呢?
1。java在编译的时候 Integer a = 100; 被翻译成-> Integer a = Integer.valueOf(100);
2。比较的时候仍然是对象的比较
3。在jdk源码中
public static Integer valueOf(int i) {
final int offset = 128;
if (i >= -128 && i <= 127) { // must cache
return IntegerCache.cache[i + offset]; //符合值范围时候,进入也创建好的静态IntergerCache,i+offset的值表示去取cache数组中那个下标的值
}
return new Integer(i); //当不符合-128 127值范围时候。记住用的:new,开辟新的内存空间,不属于IntergerCache管理区
}
而
private static class IntegerCache {
private IntegerCache(){}
static final Integer cache[] = new Integer[-(-128) + 127 + 1]; //开辟-128到127的内存区。有0的位置哦
static {
for(int i = 0; i < cache.length; i++)
cache[i] = new Integer(i - 128); //为内存区的数组每个对象赋值
}
}
这边是java为了提高效率,初始化了-128--127之间的整数对象,所以在赋值在这个范围内都是同一个对象。
再加一句
Integer a = 100;
a++;
//这边a++是新创建了一个对象,不是以前的对象。
public static void main(String []args) {
Integer a = 100;
Integer b = a;//此时b指针指向值为100的堆地址 即a的堆地址,a==b成立
a++;//此时a指向的值发生变化为101,a指针指向101的堆地址。而b任然指向100
System.out.println(a==b);//false
}
总结
以上所述是小编给大家介绍的JAVA中Integer值的范围实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# java
# integer值的范围
# int
# 值
# Java中关于int和Integer的区别详解
# 浅析java中Integer传参方式的问题
# java中的Integer的toBinaryString()方法实例
# Java大数字运算之BigInteger
# Java int与integer的对比区别
# 关于Java中你所不知道的Integer详解
# Java中Integer两种转int方法比较
# Java中int与integer的区别(基本数据类型与引用数据类型)
# Java基本数据类型与封装类型详解(int和Integer区别)
# java中Integer包装类装箱的一个细节详解
# 给大家
# 小编
# 都是
# 在这个
# 一句
# 在此
# 说了
# 不多
# 不符合
# 所示
# 仍然是
# 不属于
# 再加
# 所述
# 给我留言
# 值为
# 感谢大家
# 翻译成
# 提高效率
# 组中
相关文章:
学校建站服务器如何选型才能满足性能需求?
潮流网站制作头像软件下载,适合母子的网名有哪些?
制作国外网站的软件,国外有哪些比较优质的网站推荐?
建站主机功能解析:服务器选择与快速搭建指南
如何选择可靠的免备案建站服务器?
网站制作需要会哪些技术,建立一个网站要花费多少?
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
h5网站制作工具有哪些,h5页面制作工具有哪些?
武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?
如何用PHP快速搭建高效网站?分步指南
高防服务器租用首荐平台,企业级优惠套餐快速部署
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
如何选择网络建站服务器?高效建站必看指南
哈尔滨网站建设策划,哈尔滨电工证查询网站?
导航网站建站方案与优化指南:一站式高效搭建技巧解析
制作网站的基本流程,设计网站的软件是什么?
如何在搬瓦工VPS快速搭建网站?
如何快速搭建安全的FTP站点?
C#如何序列化对象为XML XmlSerializer用法
如何在IIS中新建站点并解决端口绑定冲突?
无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?
简单实现Android验证码
营销式网站制作方案,销售哪个网站招聘效果最好?
网站专业制作公司有哪些,做一个公司网站要多少钱?
Android使用GridView实现日历的简单功能
青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?
如何快速启动建站代理加盟业务?
定制建站策划方案_专业建站与网站建设方案一站式指南
公司网站制作费用多少,为公司建立一个网站需要哪些费用?
建站之星如何助力企业快速打造五合一网站?
武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?
如何用PHP快速搭建CMS系统?
如何规划企业建站流程的关键步骤?
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
c# 在高并发场景下,委托和接口调用的性能对比
制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?
建站之星导航菜单设置与功能模块配置全攻略
网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?
免费视频制作网站,更新又快又好的免费电影网站?
制作网站的过程怎么写,用凡科建站如何制作自己的网站?
如何高效配置IIS服务器搭建网站?
网站制作公司排行榜,抖音怎样做个人官方网站
建站之星展会模版如何一键下载生成?
沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?
小说建站VPS选用指南:性能对比、配置优化与建站方案解析
微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?
洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?
北京的网站制作公司有哪些,哪个视频网站最好?
如何在云主机快速搭建网站站点?
网站制作公司,橙子建站是合法的吗?
*请认真填写需求信息,我们会在24小时内与您取得联系。