Integer对象的大小比较
Integer对象的大小比较
先看两个比较大小的代码:
Integer a = 127;Integer b = 127;Integer c = 128;Integer d = 128;System.out.println("---------"+(a == b));System.out.println("---------"+(c == d));
执行结果:
结论:
两个Integer 变量比较(用“==”比较),如果两个变量的值在区间-128到127 之间,则比较结果为true,如果两个变量的值不在此区间,则比较结果为 false 。
分析:
Integer i = 100 在编译时,会翻译成为 Integer i = Integer.valueOf(100),而 java 对 Integer类型的 valueOf 的定义如下:
public static Integer valueOf(int i){assert IntegerCache.high >= 127;if (i >= IntegerCache.low && i <= IntegerCache.high){return IntegerCache.cache[i + (-IntegerCache.low)];}return new Integer(i);
}
java对于-128到127之间的数,会进行缓存。
所以 Integer i = 127 时,会将127进行缓存,下次再写Integer j = 127时,就会直接从缓存中取,就不会new了。
总结:
Integer对象的大小比较最好用equals。
Integer对象的大小比较相关推荐
- 如何计算Java对象的大小
一个对象通常由头和内容组成.想要计算一个对象的大小,我们就需要分别计算头部的大小和内容的大小. 查看一个对象的大小 首先在pom文件中引入apache下面的lucene-core依赖,然后调用对应的s ...
- java integer比较大小_Integer 类型对象之间大小比较
一.Integer 类型对象之间大小比较 1. 使用 new Integer() 创建的对象 : 首先,我们知道,在java中,基本类型之间是可以做大小比较的,例如int i=1,int j=2,是可 ...
- java-判断相同和对象比较大小
java中判断相同有两种方式: 第一种:使用==直接判断相同,它适用于两个变量之间.一个变量和一个对象之间相比较. 如: int a=3,c=3; Integer b=new Integer(3); ...
- java统计空间占用_JVM —— Java 对象占用空间大小计算
引用类型(reference type: Integer)在 32 位系统上每一个占用 4bytes(即32bit, 才干管理 2^32=4G 的内存), 在 64 位系统上每一个占用 8bytes( ...
- List 集合对象比较大小
List 集合对象比较大小 需要实现Comparable接口 并重写方法compareTo 代码如下: import java.util.ArrayList; import java.util.Col ...
- JVM —— Java 对象占用空间大小计算
零. 为什么要知道 Java 对象占用空间大小 缓存的实现: 在设计 JVM 内缓存时(不是借助 Memcached. Redis 等), 需要知道缓存的对象是否会超过 JVM 最大堆限制, 如果会超 ...
- 你会算对象的大小么?不会的话就看看这篇文章吧
写在前面 如果觉得有所收获,记得点个关注和点个赞,感谢支持. 使用面向对象语言,离不开的就是对象,现在回过头来思考一下,真的了解所使用语言的对象么?我自己有点心虚,对于Java的对象,我了解的尚且还不 ...
- 10年老鸟竟不知道Integer如何比较大小
前言 工作多年,最近在项目中一个地方Integer比较大小,竟然踩坑了. 那么你知道Integer比较大小的正确写法吗? 一.错误说明 先看一下下面这个demo,大家猜下,是相等还是不相等? @Tes ...
- java重写compareTo()方法,比较对象的大小
理论: 使用Comparable或Comparator两个接口中的任何一个来比较对象的大小 一.Comparable接口的使用,自然排序 1.像String.BigDecimal.包装类 ...
最新文章
- 百度率先用Silverlight构建MUZONE歌手投票平台正式上线!
- Linux进程间通信四 Posix 消息队列简介与示例
- js三元运算符_这些优化技巧可以避免我们在 JS 中过多的使用 IF 语句
- boost::math::pow相关用法的测试程序
- 笨方法python_笨方法学习Python(11-20)
- WinForms C# :TabWebBrowser 多页面浏览器源码
- 模型修饰在无人机航测实景三维模型生产中的应用——以SVSMeshEditor软件为例
- python初学者怎么入门-python初学者怎么入门
- eeprom和编程器固件 k2_瞎鸡儿折腾之K2/K2P刷机,刷入第三方固件,傻吊教程!
- 信息系统项目管理师考试难吗
- 刻意练习:Python基础 -- Task02. 条件与循环
- 浅谈跨站脚本攻击与防御
- Egress-Assess-出口数据安全功能测试
- 什么是埃博拉免疫T-细胞?
- 高仿微信6.5.7(融云版)
- 信息收集之--- 主动收集
- C#.NET程序尝试—修复Excel批注错误
- Time Freeze 时间冻结 影子系统
- Fedora linux root登录和ssh连接
- 渗透测试-完整渗透流程(二.漏洞扫描和利用)
热门文章
- DR5加强版2019全新 | PS磨皮插件高端人像后期修图工具
- Python计算机视觉编程第一章 基本的图像操作与处理
- 华为云点学堂为你揭开DevOps转型的秘密
- Ubuntu系统下解决中文显示异常问题
- vue+echarts实现仪表盘
- 如何访问局域网内宿主机上的虚机服务
- 常用java技术_java常用技术
- Revit二次开发—获取内置参数对应的中文字符串,并导出Excel;举例(BuiltParameterGroup、ParameterType和BuiltInCategory)
- 藏不住啦~SOA竟在我身边? 浅谈CANoe实现SOA仿真测试
- C 碎片八 结构体amp;枚举amp;联合