平等的細微差別:理解「.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' });
以上是Java 中物件相等的 `==` 和 `.equals()` 有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!