什么是128陷阱?什么是装箱?什么是拆箱?为什么要有包装类?

本文详细解析了Java中Integer自动装箱和拆箱的过程,特别是针对-128到127之间的整数如何利用缓存提高效率。通过了解这个机制,读者可以更好地掌握Java内存管理和性能优化的相关知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java 128陷阱是出现在Integet自动装箱和自动拆箱中,在valueOf()方当中,在-128-127之间的数值都存储在有一个cache数组当中,该数组相当于一个缓存,当我们在-128-127之间进行自动装箱的时候,我们就直接返回该值在内存当中的地址,所以在-128-127之间的数值用==进行比较是相等的。而不在这个区间的数,需要新开辟一个内存空间,所以不相等,则会报错。

装箱:值类型—–>引用类型

拆箱:引用类型 —>值类型

为什么要有包装类:Java 中除了对象(引用类型)还有八大基本类型,它们不是对象。那么,为了把基本类型转换成对象,最简单的做法就是将基本类型作为一个类的属性保存起来,也就是把基本数据类型包装一下,这也就是包装类的由来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值