在java中,数据类型总共可分为两大种,基本数据类型(值类型)和类类型(引用数据类型)。基本类型的数据不是对象,不能作为对象调用其toString()、hashCode()、getClass()、equals()等等方法。
所以在java中,针对8种基本数据类型,提供了针对每个基本数据类型的包装类。如下:
INDEX 基本数据类型 包装类
1 int Integer
2 char Character
3 float Float
4 double Double
5 byte Byte
6 short Short
7 long Long
8 boolean Boolean
所谓装箱,就是把基本类型用它们相对应的引用类型包起来,使它们可以具有对象的特质,如你的例子中把int型包装成Integer类的对象。
所谓拆箱,就是跟装箱的方向相反,将Integer及Double这样的引用类型的对象重新简化为值类型的数据。
在Java中对于从-128到127之间的数,因为数据比较小,而且使用的比较频繁,他们被装箱为Integer对象后,会在内存中被重用,超过这个值时每次装箱会产生新的对象。因为129超过了被装箱的范围值,所以会产生两个新的对象,既然是两个,所以返回false.