Integer和Int類型的比較
Integer 類型是一個物件類別,它是將一個int的基本型別包裝包裝,當我們呼叫integer的對象的時候,Integer會指向它所包裝的int基本類型的位址。
如果將Integer和int類型進行比較時,系統會將Integer自動轉換成int類型,這時候我們在比較int類型的時候會自動的對這塊地址的值進行比較而非對內存比較.觀察下面的例子:
(推薦教程:java快速入門)
public static Integer getIntegerExample1 = 128 ; public static int getIntExample1 = 128 ; System.out.print("结果: "); System.out.println(getIntegerExample1 == getIntExample1);
结果: true
當我們對兩個Integer類型進行比較時,那麼系統會對它的記憶體位址進行比較.因為記憶體分配的位址不同,所以結果是不同.觀察下面的例子:
public static Integer getIntegerExample3 = 128 ; public static Integer getIntegerExample_3 = 128 ; System.out.print("结果: "); System.out.println(getIntegerExample3 == getIntegerExample_3);
结果: false
然而我們還有一種情況,就是當Integer值的大小在-127-127之間的時候,Integer會直接去常數池中選擇,那麼當你對2個在常亮池中的Integer的值進行比較時候,它會表示這兩個Integer是指向同一個內存地址.
public static Integer getIntegerExample2 = 127 ; public static Integer getIntegerExample_2 = 127; System.out.print("结果: "); System.out.println(getIntegerExample2 == getIntegerExample_2);
结果: true
相關影片教學推薦:java影片教學
以上是實例講解java中的integer和int類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!