關於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...