对于Byte,Short,Integer,Long 这 4 种包装类默认创建了数值 [-128,127] 的相应类型的缓存数据(实际上就是数组);
Character 创建了数值在 [0,127] 范围的缓存数据,Boolean 直接返回 True or False。
如果超出对应范围仍然会去创建新的对象,缓存的范围区间的大小只是在性能和资源之间的权衡。
两种浮点数类型的包装类 Float,Double 并没有实现常量池技术。
以integer的源码为例:
Short:
Character:
Boolean:
包装类型常用的常量池
最新推荐文章于 2023-06-25 19:45:20 发布