博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
包装类的自动装箱与拆箱
阅读量:5365 次
发布时间:2019-06-15

本文共 587 字,大约阅读时间需要 1 分钟。

JDK5.0之前

int i = 1;//基本数据类型intInteger j = new Integer(i);//手动装箱int k = j.intValue();//手动拆箱

JDK5.0之后

Integer i = 1;//自动装箱int j = i;//自动拆箱Integer i = 10;System.out.println(i--);//10,计算时的自动拆箱

自动装箱的对象缓存

Integer s= 10;        Integer q= 10;        System.out.println(s==q);   //true        Integer w= 200;        Integer e= 200;        System.out.println(w==e);   //false

这是因为在自动装箱的时候,-128到127的值被装箱成Integer对象存在内存中是可以被重用的,当调用valueOf的时候,不会生成新的对象,而是从缓存中取出对象。这样可以提高性能,因此第一个比较结果会输出true,而超出以上范围的数值装箱后的对象并不会被重用,那么就相当于new两个Integer对象,比较的结果自然是false。

转载于:https://www.cnblogs.com/xurui1995/p/5211556.html

你可能感兴趣的文章
MongoDB之bson的介绍
查看>>
.NET Core IdentityServer4实战 第三章-使用EntityFramework Core进行持久化配置
查看>>
sql面试题一 学生成绩
查看>>
【深度学习大讲堂】首期第一讲:人工智能的ABCDE 第一部分:从人工智能和计算机视觉说起...
查看>>
2016/2/21 JavaScript简介
查看>>
关于Javascript调用asp.Net后台代码
查看>>
springcloud-06-feign的使用
查看>>
代码经验总结(未完)
查看>>
BZOJ1925: [Sdoi2010]地精部落
查看>>
ReportViewer实例教程(转载)
查看>>
php中文文件is_file检验失败(编码问题)
查看>>
也说Socket
查看>>
[置顶] 文章索引::”机器学习方法“,"深度学习方法",“三十分钟理解”原创系列...
查看>>
Storm概念学习系列之核心概念(Tuple、Spout、Blot、Stream、Stream Grouping、Worker、Task、Executor、Topology)(博主推荐)...
查看>>
Python 爬虫工程师必学 App数据抓取实战
查看>>
SQLServer数据库设计规范
查看>>
Visual C++中使用ADO访问数据库
查看>>
MySQL Python教程(3)
查看>>
360随身WiFi使用问题解决,无法在没有网络的电脑上使用
查看>>
redis提示ERR unknown command 'PSETEX'
查看>>