首页 > Java开发 > 享元设计模式与Integer类

享元设计模式与Integer类

//享元模式
/**
*  当基本正数数据类型在装箱为Integer类型时,0~127之间的数字装箱后会被缓存起来,当下次对同样的数字装箱时
*  两个Integer对象是相等的,即指向同一块内存,而当数字超过127后,自动装箱后不会被缓存,再次装箱同样大于127的数字时
*  两个Integer对象是不相等的。
*
*  以上事例就是通常所说的享元设计模式,对于那些非常小但是又需要在系统的很多地方都需要用到它的时候,我们需要把它
*  缓存起来,以便下次再次使用,减少了创建对象的开销。
*
*
*/
public class Test {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub

Integer a1 = new Integer(4);
Integer a2 = new Integer(4);
System.out.println(a1 == a2); //false

Integer i1 = 13;
Integer i2 = 13;
System.out.println(i1 == i2); //true

Integer i3 = 128;
Integer i4 = 128;

System.out.println(i3 == i4); //false

Integer i5 = Integer.valueOf(3);
Integer i6 = Integer.valueOf(3);
System.out.println(i5 == i6); //true

Integer i7 = Integer.valueOf(127);
Integer i8 = Integer.valueOf(127);
System.out.println(i7 == i8); //true
}

}


本文固定链接: http://www.devba.com/index.php/archives/1164.html | 开发吧

报歉!评论已关闭.