(1)Integer是int的包裝類;int是基本數據類型;
(2)Integer變量必須實例化後才能使用;int變量不須要;
(3)Integer實際是對象的引用,指向此new的Integer對象;int是直接存儲數據值 ;
(4)Integer的默認值是null;int的默認值是0。java
一、Integer變量和int變量比較時,只要兩個變量的值是向等的,則結果爲true(由於包裝類Integer和基本數據類型int比較時,java會自動拆包裝爲int,而後進行比較,實際上就變爲兩個int變量的比較)對象
二、非new生成的Integer變量和new Integer()生成的變量比較時,結果爲false。(Integer j = 100 這句應該是被編譯成了 Integer j = Integer.valueOf(100),而後通過 IntegerCache 從而 new 了一個 Integer 對象,而前面的 Integer i = new Integer(100) 是直接 new 出來的沒有通過 IntegerCache,故兩者內存地址不一樣而不等)內存
三、對於兩個非new生成的Integer對象,進行比較時,若是兩個變量的值在區間-128到127之間,則比較結果爲true,若是兩個變量的值不在此區間,則比較結果爲false編譯
若是兩個變量的值不在此區間,則比較結果爲false變量