包装类valueof缓存设计

//比较的是地址,每new一次,都会创建一个新的地址
Integer i = new Integer(10);
Integer i2 = new Integer(10);
System.out.println(i==i2);
		
//包装类中的缓存设计
Integer i3 = Integer.valueOf(123);
Integer i4 = Integer.valueOf(123);
System.out.println(i3==i4);

//range:-128-127,超过范围就不缓存,直接创建地址
Integer i5 = Integer.valueOf(300);
Integer i6 = Integer.valueOf(300);
System.out.println(i5==i6);

结果为:false 、 true、false。

        

你可能感兴趣的:(Java)