歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Java自動裝箱解箱問題&&int和Integer類型==比較問題

Java自動裝箱解箱問題&&int和Integer類型==比較問題

日期:2017/3/1 10:06:49   编辑:Linux編程

java在5.0開始,基本類型和封裝類型之間有了自動的轉換。

  1. Integer i1=1;//1轉變為new Integer(1),叫自動裝箱
  2. Integer i2=1;
  3. int i3=i1+i2;//i1 i2自動轉化為int類型,叫自動解箱
  4. System.out.println(i1==i2);//true

這裡我們可以看到,Integer的構造方法可以不用了。

自動裝箱時,-128--127有緩沖池,是同一個對象,如果不在這個范圍內,將會新建對象,所以對象會不同。

Integer i4=128;
Integer i5=128;
System.out.println(i4==i5);//false

用==比較時,如果兩邊一個int一個Integer,自動解箱後再比較。

int i6=128;
System.out.println(i4==i6);//true

Copyright © Linux教程網 All Rights Reserved