如何使用Integer IntegerCache
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍"如何使用Integer IntegerCache",在日常操作中,相信很多人在如何使用Integer IntegerCache问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作
千家信息网最后更新 2026年11月03日如何使用Integer IntegerCache
这篇文章主要介绍"如何使用Integer IntegerCache",在日常操作中,相信很多人在如何使用Integer IntegerCache问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何使用Integer IntegerCache"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
Integer s = 1; Integer s1 = 1;; System.out.println(s == s1); Integer s2 = 128; Integer s3 = 128; System.out.println(s2 == s3);
问题由此展开,会打印出true, false; 第二个是我们正常理解的答案。再理解为什么第一个打印是true,先了解下 == 和 equals
== :
基本类型一般都用 == ,比较的是内存地址,如果内存地址是一样的那么两个值自然也是相等的。
equals:
对象的比较一般都用equals, equals比较的是对象的内容
所以
Integer s = 1;Integer s1 = 1;;System.out.println(s.equals(s1)); // true
我们再回来看看开头的问题,关键在于Integer中内部类IntegerCache
private static class IntegerCache { static final int low = -128; static final int high; static final Integer cache[]; static { // high value may be configured by property int h = 127; String integerCacheHighPropValue = sun.misc.VM.getSavedProperty("java.lang.Integer.IntegerCache.high"); if (integerCacheHighPropValue != null) { try { int i = parseInt(integerCacheHighPropValue); i = Math.max(i, 127); // Maximum array size is Integer.MAX_VALUE h = Math.min(i, Integer.MAX_VALUE - (-low) -1); } catch( NumberFormatException nfe) { // If the property cannot be parsed into an int, ignore it. } } high = h; cache = new Integer[(high - low) + 1]; int j = low; for(int k = 0; k < cache.length; k++) cache[k] = new Integer(j++); // range [-128, 127] must be interned (JLS7 5.1.7) assert IntegerCache.high >= 127; } private IntegerCache() {} }-128 - 127范围的数字都放在了cache数组中,所以再找个范围内 == 比较都是true.
那么好处是直接在缓存中去取肯定要比生成一个对象要好太多啊
Byte Short Long 这几个都有类似的做法
到此,关于"如何使用Integer IntegerCache"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
学习
对象
问题
内存
地址
更多
范围
帮助
实用
接下来
两个
做法
关键
内容
好处
开头
数字
数组
文章
方法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
天津市摩尔互联网科技
广州紫鲸互联网科技有限公司
美国互联网保险保险科技
互联网金融监管科技数据
科技互联网技术
腾讯阿里互联网科技
狮子座互联网科技
为想互联网科技
银优互联网科技有限公司
成都狮子座互联网科技
新华互联网科技校企合作
重庆威客帮互联网科技
彤创互联网科技有限公司
互联网科技公司实习生
科技大学互联网
中科明德北京互联网科技
抖集互联网科技技术咨询
福建互联网展示科技馆设计
世界互联网科技成果奖
互联网科技创业计划的风险分析
深圳市人人互联网科技有限公司
山东特亿宝互联网科技有限公司
互联网科技与金融科技
有马互联网科技
华夏恒生科技与互联网科技
广西科技产业互联网是什么
数字互联网科技有限公司
北京品多多互联网科技有限公司
互联网高科技绘画
银川新华互联网科技学校招聘