1. 程式人生 > >基本資料型別和包裝類進行比較

基本資料型別和包裝類進行比較

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