首頁 >Java >java教程 >Java 中的 .equals() 與 ==:什麼時候應該使用它們?

Java 中的 .equals() 與 ==:什麼時候應該使用它們?

Patricia Arquette
Patricia Arquette原創
2024-12-28 01:34:09480瀏覽

.equals() vs. == in Java: When Should You Use Each?

.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");
}
作為一般規則,最好使用“.equals” " 對於對象,甚至對於原始資料類型。這可確保行為一致並避免潛在的錯誤。以下是一些準則:

對於原始資料類型:
They are not the same
They are equal
使用「==」檢查值是否相等。

對於物件: 使用「.equals」來比較內容。

對於字串:

使用“.equals”而不是“==”,因為字串是內部的並且可以有多個引用。

以上是Java 中的 .equals() 與 ==:什麼時候應該使用它們?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn