jdk 1.5箱と箱を外す示列
javaコード:
同じ理屈:
public class AutoBox
{
public static viod main(String[] args)
{
Integer iobj=3;// 3 Integer , iobj( )
System.out.println(iobj+12);
//iobj Integer ,Integer , ( )
Integer i1=12;
Integer i2=12;
System.out.println(i1==i2); //true
Integer i1=137;
Integer i2=137;
System.out.println(i1==i2); //false
}
}
バイトが-12-18-137以内の数字は、いったんIntegerオブジェクトに包装したらキャッシュされ、省スペースになります。数字が小さいので、出現の確率が大きいので、各数字は一つの対象に対応する必要がありません。これは一つの設計モードです。それらは多くの属性が同じで、それらを一つのオブジェクトにして、それらを方法に変えたパラメータを外部オープンといい、同じ属性を内部状態といいます。同じ理屈:
Integer i3=Integer.ValueOf(3);
Integer i4=Integer.ValueOf(3);
System.out.println(i3==i4); //true
Integer i3=Integer.ValueOf(137);
Integer i4=Integer.ValueOf(137);
System.out.println(i3==i4); //false