與 == 的字串比較
在 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中文網其他相關文章!