new構造器來創建Integer對象

Java提供java.lang.Integer類,它就採用了與CaheImutale類相同的處理策略,如果採用new構造器來創建Integer對象,則***每次返回全新的Integer對象***,如果採用了valueOf方法來創建Integer對象,則會緩存該方法創建對象。下面程序示範了Integer類構造器和valueOf()方法存在的差異。

`public class IntegerCachTest {
public static void main(String[]args) {
//生成新的Integer對象
Integer int1=new Integer(5);
//生成新的Integer對象,並緩存中取出Integer對象
Integer in2=Integer.valueOf(6);
//直接從緩存中取出Integer對象
Integer in3=Integer.valueOf(6);
// System.out.println(in1in2);//false
System.out.println(in2
in3); //true
//由於Integer只緩存-128~127之間的值
//因此200對應的Integer對象沒有被緩存
Integer in4=Integer.valueOf(200);
Integer in5=Integer.valueOf(200);
System.out.println(in4);//200
System.out.println(in4==in5); //false
}

}`

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章