java整数缓冲区
Integer缓冲区
- java预先创建了256个常用的整数包装类型对象(负127-128)
- 在实际应用中,对已创建的对象进行复用
public class cacheDemo {
public static void main(String[] args) {
// Integer i1=100;
// Integer i2=100;
// System.out.println(i1==i2);
// System.out.println(i1.equals(i2));
// Integer i3=200;
// Integer i4=200;
// System.out.println(i3==i4);//比较的是地址
// System.out.println(i3.equals(i4));//比较的是值
//以上代码通过反编译,底层使用的是valueof方法,等价于下面代码
Integer i1 = Integer.valueOf(100);
Integer i2 = Integer.valueOf(100);
System.out.println(i1 == i2);//true
Integer i3 = Integer.valueOf(200);
Integer i4 = Integer.valueOf(200);
System.out.println(i3 == i4);//比较的是地址false
}
}
valueof源码:
可见,Integer类型只要数值在-128到127内,就会返回java为我们创建好的对象,这就叫做整数缓冲区,并不会new一个新的,因此100返回true,200返回false
本文来自博客园,作者:一只快乐的小67,转载请注明原文链接:https://www.cnblogs.com/sp520/p/15794733.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!