Integer這個包裝類是個妖孽

2021-09-20 05:31:28 字數 657 閱讀 3992

給大家出一道小兒科的題

public class testinteger

}答案是多少吶,你一定在嘀咕這還不簡單吶,答案是

true

true

true

true

true

false

如果你這樣想,我只能說你還太嫩,首先不公布答案吶,最後在公布,先分析分析

1.我們知道在編碼的時候能不用integer就不用這種包裝類,因為它有個裝箱和拆箱的過程,會浪費時間,

再來說一下==這種運演算法的比較,它的比較會先比較位址值,

如果比較的一邊有操作表示式,會比較數值

再來說一下equals

它在比較的時候會優先比較數值

但是long型別的equals會首先判斷是否屬於long,

好了公布正確答案

true

true

true

true

true

false

true

最後乙個的解釋是,a+h,a是integer,h是long,在進行運算時,會自動轉化為long型別的進行運算,所以是true

而倒數第二個a+b都是intrger型別的,所以不會進行轉化,所以還是integer型別的與long型別沒法比較。

Integer包裝類的理解

public static void main string args 執行結果 那麼問題來了,大家都知道 比較的是兩個物件的引用,為什麼 兩個包裝型別的integer 127物件是同乙個引用,而兩個包裝型別的integer 128物件,就是兩個不同的物件了呢?這是因為每次通過自動裝箱得到乙個int...

包裝類之代表「Integer

優勢 1 可以通過物件中的屬性和行為操作基本資料。2 可以實現基本資料型別和字串之間的轉換。列表 基本型別 包裝類 byte byte short short pasershort numstring int integer 靜態方法 parseint numstring long long flo...

Java中的包裝類(Integer類)

包裝類 integer類在物件中包裝了乙個基本型別 int 的值。integer 型別的物件包含乙個 int 型別的字段。父類 number 父介面 serializable,序列化介面 comparable 自然比較介面 構造器 構造方法摘要 integer int value 構造乙個新分配的 ...