Java:包装类的缓存机制是?
对包装类进行直接赋值时,若值在缓存区内,则会指向执行缓存区的地址。(通过new赋值则不会)
缓存范围:
1、Boolean,全部缓存。
2、Character、Byte、Short、Integer、Long,缓存范围:-128 ~ 127
3、Float、Double,无缓存。
例子1:
直接赋值缓存内的值。
public static void main(String[] args) { //直接从缓存区内拿,地址一致 Integer integer1 = 127; Integer integer2 = 127; System.out.println(integer1==integer2); }
输出:
例子2:
直接赋值缓存外的值。
public static void main(String[] args) { //缓存区拿不到,只能自己new一个对象,所以地址不一致 Integer integer1 = 128; Integer integer2 = 128; System.out.println(integer1==integer2); }
输出:
分类:
Java笔记 / Java基础
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步