文档章节

Java包装类Integer比较

BlackJoker
 BlackJoker
发布于 2015/10/13 13:24
字数 175
阅读 3
收藏 0

1,用符号==比较两个对象,意味着比较他们是否是统一个对象。

2,代码Integer b = 1; 自动装箱,通过javap可以看出起始会调用:

     invokestatic #16; //Method java/lang/Integer.valueOf:(I)Ljava/lang/Integer;

       即调用Integer.valueOf(int)

3,代码int a = new Integer(1); 自动拆箱,其实会调用:

invokevirtual #25; //Method java/lang/Integer.intValue:()I

     即调用Integer.intValue()

 

4,Integer里面有个IntegerCache,所有通过Integer.valueOf(i)而且满足-128<=i<=127 创建的整数都是同一个,即

      Integer.valueOf(i)==Integer.valueOf(i) is true ;但通过new Integer(i)创建的整数都是不==的,即

      new Integer(1)==new Integer(1) is false   ;

 

5,new Integer(1)==1 其实是new Integer(1).intValue()==1,所以是true

 

 

 

 

 

 

© 著作权归作者所有

共有 人打赏支持
BlackJoker
粉丝 1
博文 17
码字总数 9270
作品 0
深圳
高级程序员
私信 提问
Java自动装箱和拆箱,包装类缓存机制和JVM调节

关于Java自动装箱和拆箱 基本数据(Primitive)类型的自动装箱(autoboxing)、拆箱(unboxing)是自J2SE 5.0开始提供的功能 自动装箱,个人感觉也就是为了所谓的java泛型,泛型就是一种糖,装箱是...

BakerZhu
2017/07/17
0
0
int和Integer深入分析

目录介绍 1.关于int和Integer的问题区别分析 2.Integer的值缓存的原理 2.1 Java 5 中引入缓存特性 2.2 Integer类中的IntegerCache类 2.3 其他整型类型的缓存机制 3.理解自动装箱和拆箱 3.1 ...

潇湘剑雨
08/27
0
0
16-《深度拆解JVM》之Java语法糖与Java编译器

在前面的文章中,我们多次提到了 Java 语法和 Java 字节码的差异之处。这些差异之处都是通过 Java 编译器来协调的。今天我们便来列举一下 Java 编译器的协调工作。 一、自动装箱与自动拆箱 ...

飞鱼说编程
11/09
0
0
Java 内存分配全面浅析

本文将由浅入深详细介绍Java内存分配的原理,以帮助新手更轻松的学习Java。这类文章网上有很多,但大多比较零碎。本文从认知过程角度出发,将带给读者一个系统的介绍。 进入正题前首先要知道...

vieky
2014/12/10
0
3
理解Java Integer的缓存策略

版权声明:欢迎关注我的微信公众号:「easyserverdev」,中文名:『高性能服务器开发』。 https://blog.csdn.net/analogous_love/article/details/80095818 本文将介绍 Java 中 Integer 缓存...

analogous_love
04/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

当S8遇上边缘计算:谈阿里云ENS对直播业务场景的支撑

摘要: 类似S8赛事这样的大型活动直播的特点和技术挑战是什么?为什么业务要下沉到边缘?自建边缘节点和与云服务厂商合作到底该如何选择?边缘节点服务(ENS)又是如何进行技术支撑?提供的针...

阿里云官方博客
10分钟前
1
0
supervisor安装配置

supervisor安装配置 安装 wget -c https://files.pythonhosted.org/packages/44/60/698e54b4a4a9b956b2d709b4b7b676119c833d811d53ee2500f1b5e96dc3/supervisor-3.3.4.tar.gztar -zxvf su......

jackmanwu
20分钟前
1
0
laravel定时器

民间高手: https://blog.csdn.net/zhezhebie/article/details/79205414 官方文档: https://laravel-china.org/docs/laravel/5.5/scheduling/1325...

vio小黑
43分钟前
0
0
Apache Zeppelin安装及使用

Apache Zeppelin官网:http://zeppelin.apache.org/ Apache Zeppelin介绍:A web-based notebook that enables interactive data analytics. You can make beautiful data-driven, interacti......

GordonNemo
44分钟前
4
0
关于python开发多个项目环境配置Anaconda

关于Anaconda用来管理Python的包和环境 下载并安装Anaconda 创建项目:windows键+R ==> 进入CMD => 输入conda create -n 项目名称 python=3 conda info -e 查看项目以及项目所在的位置,默认...

上官清偌
45分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部