首頁 > Java > java教程 > Java 中物件相等的 `==` 和 `.equals()` 有什麼不同?

Java 中物件相等的 `==` 和 `.equals()` 有什麼不同?

Mary-Kate Olsen
發布: 2024-12-18 19:14:11
原創
178 人瀏覽過

What's the Difference Between `==` and `.equals()` in Java for Object Equality?

平等的細微差別:理解「.equals()」和「==」之間的差異

在Java 程式設計領域物件平等的話題經常引起開發者的激烈爭論。本文旨在闡明確定物件相等性的兩個關鍵運算子之間的根本區別:「.equals()」和「==」。

「==」的本質

「==」運算符,稱為相等運算符,在 Java 中執行純粹的身份檢查。當與物件一起使用時,它主要比較這些物件的引用。如果引用指向同一個對象,則結果為 true;否則,傳回 false。

“.equals()”的多功能性:自訂相等實現

與“==”不同,“.equals()” "方法提供了一種更靈活的物件相等方法。要求。 >

重寫「.equals()」使開發人員能夠定義特定於其物件上下文的自訂相等性檢查。不同年齡或ID 號碼的學生。 🎜>

為了說明「==」和「.equals()」之間的區別,讓我們考慮一下字串:

使用「==」運算符,我們觀察到:

但是,當我們使用「.equals()」:

出現這種差異是因為「==」運算子比較引用,在這種情況下,「x」和「y」引用不同的物件。並且由於兩個字串包含相同的字符,因此它們被視為相等。 >

String x = "hello";
String y = new String(new char[] { 'h', 'e', 'l', 'l', 'o' });
登入後複製
雖然「.equals()」提供了更大的靈活性,但注意其潛在的效能影響至關重要。相等性檢查可能涉及更多計算。

以上是Java 中物件相等的 `==` 和 `.equals()` 有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板