JavaSE程序分析005 Integer的小事情
看下面的代码,你觉得程序会输出啥呢?
public class Test {public static void main(String[] args) {Integer i1 = 127;Integer i2 = 127;System.out.println(i1 == i2);System.out.println(i1.equals(i2));}
}
好简单吧?不就是一个自动装箱吗?结果如下:
那么下面的程序会输出多少呢?
public class Test {public static void main(String[] args) {Integer i1 = 128;Integer i2 = 128;System.out.println(i1 == i2);System.out.println(i1.equals(i2));}
}
诶呀妈呀,这和上面的程序不就差了一个数吗?应该还是都是true吧!恩再想想,不一样滴,要是那么简单,还写出来干嘛?结果如下:
!!!!!震惊!!!!竟然发生了这种事儿!!!
解释一下:
-128到127是byte的取值范围,如果在这个取值范围内,自动装箱就不会新创建对象,而是从常量池中获取
如果超过了byte取值范围就会再新创建对象
以下是源码
public static Integer valueOf(int i) {assert IntegerCache.high >= 127;if (i >= IntegerCache.low && i <= IntegerCache.high) //i>= -128 && i <= 127return IntegerCache.cache[i + (-IntegerCache.low)];return new Integer(i);
}
JavaSE程序分析005 Integer的小事情相关推荐
- 【翻译】Tricorder-谷歌如何建立程序分析的生态系统
I. 介绍II. 背景A. 开发流程B. 谷歌的程序分析III. 谷歌程序分析理念A. 0误报率B. 授权用户做出贡献C. 改进数据驱动的可用性D. 工作流集成是关键E. 项目级别定制,而不是用户定制 ...
- 字节跳动pest分析_字节跳动小程序分析:前景及优势都是什么?
近几年小程序渐渐成为微信.百度.支付宝等巨头的标配,各大互联网巨头纷纷加码小程序,字节跳动自然也不甘落后.字节跳动小程序前景如何呢?我们来做一个详细的字节跳动小程序分析: 1.平台条件 小程序要想做起 ...
- h5打开app_移动端产品比较分析:APP、小程序、H5
本文笔者从实际工作经验出发,结合参考相关文章,对移动端产品(APP.小程序.H5)从13个方面进行了比较分析,与大家分享. 移动端产品包括小程序(本文特指微信小程序).APP(安卓.IOS).H5页面 ...
- 提高微信小程序的应用速度的常见方式有哪些? 小程序怎么实现下拉刷新? 简述微信小程序原理? 小程序的发布流程(开发流程)分析下微信小程序的优劣势?小程序授权登录流程? 小程序支付如何实现
小程序部分常见面试题 提高微信小程序的应用速度的常见方式有哪些? 提高页面加载速度 用户行为预测 减少默认data的大小 组件化方案 分包预下载 小程序与原生App相比优缺点? 优点: 基于微信平台开 ...
- 软件工程作业一:从产品经理人角度分析微信求职招聘小程序
一.开发背景分析 随着社会及互联网时代的发展,人才成了企业发展的关键因素,如果招聘到对应岗位合适的人员成了各大企业HR的重要问题,而对于求职者来说,在如此多的招聘信息中如何进行真假信息的鉴别,以及找到 ...
- 头脑王者对战游戏html5源码,头脑王者分析笔记及微信小程序解包源码
最近感觉微信小程序比较火,周围很多人在玩"跳一跳"和"头脑王者"之类的小游戏. 对于小程序我也产生了浓厚的兴趣. 一开始看到官方的小程序的介绍,也看了小程序的部 ...
- 微信小程序开发:e代驾Lite小程序分析
微信小程序开发:e代驾Lite是一款专业提供"到达快,服务好,保障全"代驾服务的小程序.通过移动互联网技术改善传统代驾服务行业,在大大降低代驾等候时间和代驾服务费用的同时,更 ...
- 高考志愿填报智能推荐查学校查专业分析查询心理测评小程序开发
高考志愿填报查学校查专业分析查询心理测评小程序开发 前端页面多模板键切换 高考志愿填报 专为高中生打造的提供心理测评.志愿填报.学校查询等功能的志愿填报服务的平台 公众号端小程序 项目简介 高考志愿填 ...
- 快消小程序分析报告——金典、永璞咖啡
笔者是一枚小白,在快消公司接触数字化项目后,对产品产生兴趣,正好借正在跟进的项目作为切入点,实操练习一下. 通过阅读网络文章,笔者理解的PEST分析目的是为了解市场,确定项目方向与方案可行性(如有不妥 ...
最新文章
- Python Qt GUI设计:QLabel标签类(基础篇—11)
- 06Decorator(装饰)模式
- idea 快速导入实现父类方法_教你快速吸引精准粉丝实现流量变现的方法
- SUN StorEdge 3320更改磁盘状态
- Linux操作系统为何会对计算机病毒免疫
- Git commit your changes or stash them before you can merge
- python数据分类_Python数据挖掘实践—KNN分类
- 李宏毅机器学习课程11~~~为何要深?
- Linux下nm和ldd 命令
- C++中的文件输入/输出(6):一些有用的函数
- vba编程把纯文本转换成html,如何在Excel的单元格中将HTML转换为文本?
- c语言 炸弹文件,炸弹超人游戏c语言简板
- 幅度和幅值有区别吗_16G内存够用吗?8G/16G/32G内存横向对比
- 环境搭建-CentOS集群搭建
- oracle 检查链接数,oracle连接数检查
- 快速给视频批量添加水印,操作简单
- 设置view 的MarginTop
- 《大明王朝1566》台词摘录
- Linux操作系统学习笔记【入门必备】
- 手机银行APP评测系列:天津银行持续优化手机银行用户体验,但仍需加强细节提升