關於Integer類中equals和 的區別

2021-05-23 01:24:05 字數 724 閱讀 6064

關於equals和"=="的區別:

equals方法是integer類中過載object類的equals方法,object類中的equals方法用來判斷兩個物件變數所指的是否為同乙個物件。經過載後,equals方法用來判定兩個integer物件是否具有相同的int值,若相同,返回結果為true。  

"=="運算子用於比較兩個變數本身的值,即兩個物件在記憶體的首位址。換句話說,用於比較兩個類型別的變數是否指向同乙個物件。但存在乙個特殊情況:-128

至127

內的interger

都是同乙個

物件引用。如下:

public class test

else

integer t3 = 200;

integer t4 = 200;

if (t3==t4)

else }}

輸出結果為:t1= =t2

t3! =t4

這是因為:integer t1=0;相當於integer t1=integer.valueof(0);

integer中valueof**如下:

public static integer valueof(int i)

return new integer(i);}

注意:integer t1 = new integer(100);  integer t2 = new integer(100);t1,t2分別指向兩個integer物件。

Java中的包裝類(Integer類)

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

如何使用Objects類簡單重寫equals方法

equals 和hashcode 都是object類中的方法。equals方法用於比較兩個物件是否相同 hashcode方法是根據物件的位址或者字串或者數字計算該物件的雜湊值 object類中的equals方法比較的是兩個物件的引用位址,只有物件的引用位址指向同乙個位址時,才認為這兩個物件相等,否則...

Integer 中的快取類IntegerCache

題目 public class test 結果是 true false true可是為什麼呢?翻閱dk的原始碼,發現 public static integer valueof string s throws numberformatexception public static integer v...