自动装箱1.5新特性一个享元模式

来源:互联网 发布:淘宝u站平台 编辑:程序博客网 时间:2024/05/16 11:05

自动装箱是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