基本資料型別和包裝類進行比較
1、基本型和基本型封裝型進行“==”運算子的比較,基本型封裝型將會自動拆箱變為基本型後再進行比較,因此Integer(0)會自動拆箱為int型別再進行比較,顯然返回true;
int a = 220;
Integer b = 220;
System.out.println(a==b);//true
2、兩個Integer型別進行“==”比較, 如果其值在-128至127 ,那麼返回true,否則返回false, 這跟Integer.valueOf()的緩衝物件有關,這裡不進行贅述。
Integer c=3;
Integer h=3;
Integer e=321;
Integer f=321;
System.out.println(c==h);//true
System.out.println(e==f);//false
3、兩個基本型的封裝型進行equals()比較,首先equals()會比較型別,如果型別相同,則繼續比較值,如果值也相同,返回true。
Integer a=1;
Integer b=2;
Integer c=3;
System.out.println(c.equals(a+b));//true
4、基本型封裝型別呼叫equals(),但是引數是基本型別,這時候,先會進行自動裝箱,基本型轉換為其封裝型別,再進行3中的比較。
int i=1;
int j = 2;
Integer c=3;
System.out.println(c.equals(i+j));//true