自动装箱是1.5新特性,比如Integer iObj=3; 将3自动装箱为一个Integer对象赋给iObj,在1.5版本以前必须用new生成新的对象 即
Integer iObj=new Integer(3)
在-128-127之间的数装成对象后,把同样的数值设置成为一个对象共同访问,也是享元模式flyweight,都用这一个对象。当有新的Interget对象时,先判断他的值是否已存在存在则不再创建新的对象。
package execisetest;
public class Zhuangxiang {
public static void main(String [] args){
Integer num3=12;
Integer num4=12;
Integer num5=129;
Integer num6=129;
int num7=129;
int num8=129;
System.out.println(num3==num4);
System.out.println(num5==num6);
System.out.println(num7==num8);
}
}
输出结果是true
false
true
因为只有-128-127之间的值共享,所有第二个输出为false