有些时候,我们需要把类似于int,double这样的基本数据类型转成对象,于是设计者就给每一个基本数据类型都配置了一个对应的类,这些类被称为包装器。包装器整体来说分为四大种:。要记住下面两点包装器的特性:包装器是不可变的,一旦构造了包装器,就不允许更改包装在其中的值。为什么会发生这样的事情,我们记得自动装箱的时候会自动调用Integer的valueOf方法,我们现在来看一下这个方法的源码:而这个IntegerCache是什么呢?上面的代码中i1和i2的数值为100,因此会直接从cache中取已经存在的对象,所以i1和i2指向的是同一个对象,而i3和i4则是分别指向不同的对象。其他的包装器的valueOf方法也有不同的实现和不同的范围,具体的我们会在源码深度解析专栏来分析,敬请期待~

详解Java 自动装箱与自动拆箱

详解Java 自动装箱与自动拆箱

详解Java 自动装箱与自动拆箱