首頁 > Java > java教程 > 為什麼Java中'==”無法正確比較字串?

為什麼Java中'==”無法正確比較字串?

Mary-Kate Olsen
發布: 2024-11-28 15:26:10
原創
742 人瀏覽過

Why Does

與 == 的字串比較

在 Java 中,使用「==」比較字串可能會傳回意外結果。與預期相反,對兩個字串變數應用“==”可能會導致“false”,即使它們看起來相同。

考慮以下程式碼:

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

System.out.println("231" == parts[0]); // False
登入後複製

解釋:

Java 中的「==」運算子測試兩個物件是否引用相同的內存位置。在上面的範例中,parts[0] 和“231”是記憶體中的兩個單獨的對象,即使它們都具有相同的值(“231”)。因此,「231」== parts[0] 的計算結果為 false。

解決方案:

要比較 Java 中字串的值,請使用 equals 方法。 equals 方法繼承自 Object,如果兩個字串具有相同的值,則傳回 true。

System.out.println("231".equals(parts[0])); // True
登入後複製

最佳實踐:

在 Java 中,始終使用 equals 進行比較對象,包括字串。這種做法可確保您比較的是物件的值,而不是它們的記憶體參考。

以上是為什麼Java中'==”無法正確比較字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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