【JavaSE】Java基本数据类型缓存池

new Integer(18)Integer.valueOf(18)Integer.valueOf(300) 的区别

  • new Integer(18) :每次都会创建一个新对象
  • Integer.valueOf(x)
    • x in [-128, 127]:使用缓存池中的对象
    • x not in [-128, 127]:创建新对象

Integer缓存池大小:默认为 -127~128,可以通过JVM参数设置

Integer i = 18

  • 当引用是Integer类型,= 右侧是基本数据类型int时,会发生自动装箱
  • 底层其实是调用了Integer.valueOf()方法,因此也会用到缓存常量池


什么是Integer缓存?

前面所示的Integer缓存池其实就是Integer的一个静态内部类IntegerCache

相关推荐
BD_Marathon5 分钟前
IDEA创建多级包时显示在同一行怎么办
java·ide·intellij-idea
亓才孓5 分钟前
【Exception】CONDITIONS EVALUATION REPORT条件评估报告
java·开发语言·mybatis
硅基动力AI30 分钟前
如何判断一个关键词值不值得做?
java·前端·数据库
学无止境_永不停歇38 分钟前
十一、C++11列表初始化、右值引用和移动语义
开发语言·c++
阿里嘎多学长42 分钟前
2026-02-20 GitHub 热点项目精选
开发语言·程序员·github·代码托管
mjhcsp1 小时前
C++ 背包DP解析
开发语言·c++
重生之后端学习1 小时前
78. 子集
java·数据结构·算法·职场和发展·深度优先
尘缘浮梦1 小时前
协程asyncio入门案例 2
开发语言·python
juleskk1 小时前
2.15 复试训练
开发语言·c++·算法
那起舞的日子2 小时前
斐波那契数列
java·算法