.equals 與==:深入探討
在Java 中,「.equals」和「==」之間的區別是經常被誤解。讓我們探討一下這些運算子之間的區別,並了解何時使用每個運算符。
使用「==」
「==」是相等運算符,它比較兩個物件的引用。對於原始資料類型(例如 int、double),「==」檢查值是否相等。然而,對於非基本類型(例如物件),「==」比較兩個物件是否指向相同記憶體位置。
使用「.equals」
「.equals」是「Object」類別中定義的方法,它提供了比較兩個物件內容的通用方法。預設情況下,「.equals」比較物件的值,允許在子類別中自訂實作。
為什麼「.equals」比較好
而「==」 "對於原始資料類型就足夠了,但在處理物件時可能會導致誤解。 >
在此範例中,「== "傳回“false”,因為“a”和“b”是具有不同記憶體位置的不同物件。佳實踐
Integer a = new Integer(10); Integer b = new Integer(10); if (a == b) { System.out.println("They are the same"); } if (a.equals(b)) { System.out.println("They are equal"); }
對於原始資料類型:
They are not the same They are equal
對於物件: 使用「.equals」來比較內容。
對於字串:
使用“.equals”而不是“==”,因為字串是內部的並且可以有多個引用。以上是Java 中的 .equals() 與 ==:什麼時候應該使用它們?的詳細內容。更多資訊請關注PHP中文網其他相關文章!