首頁 >Java >java教程 >Java 字串比較:`==` 與 `.equals()` – 何時使用哪一個?

Java 字串比較:`==` 與 `.equals()` – 何時使用哪一個?

Barbara Streisand
Barbara Streisand原創
2024-12-06 14:14:12344瀏覽

Java String Comparison:  `==` vs. `.equals()` – When to Use Which?

Java 中的物件參考比較與值相等

在Java 中,使用== 運算子比較字串時確定物件相等性比較字串時確定物件相等性可能會令人困惑。讓我們深入研究這種看似不明確的行為。

考慮以下場景:

// Define a String array
String[] parts = {"231", "CA-California", "Sacramento-155328", "aleee", "Customer Service Clerk", "Alegra Keith.doc.txt"};

// Perform comparison
if ("231" == parts[0]) {
    // This comparison will evaluate to false
}

令人驚訝的是,比較回傳 false。這是因為 Java 中的 == 運算子檢查物件引用相等性,而不是值相等性。與許多其他語言不同,Java 字串是物件。當您使用 == 比較兩個字串時,它比較的是這些物件所在的記憶體位址,而不是實際的字串值。

要比較字串的實際值,您應該使用 String.equals 方法:

if ("231".equals(parts[0])) {
    // This comparison will evaluate to true
}

此方法檢查字串的內容,而不是它們的物件參考。

請記住,對於 Java 中的所有對象,== 運算子檢查參考相等,而 equals 方法比較實際的物件值。檢查物件相等性時使用 equals 很重要,因為在比較物件參考時 == 可能會導致錯誤的結論。

以上是Java 字串比較:`==` 與 `.equals()` – 何時使用哪一個?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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