可能重複:
String is not equal to string?
What makes reference comparison (==) work for some strings in Java?JAVA - 爲什麼== 「1」 返回false
可以有一個人下面的Java代碼
String a = "1";
if(a == "1") {
//print compare 1 is true;
} else {
//print compare 1 is false;
}
if(a.equals("1")) {
//print compare 2 is true;
} else {
//print compare 2 is false;
}
給我解釋一下它的結果如
compare 1 is false
compare 2 is true
我唯一的解釋是它比較內存地址而不是數值本身。但我不確定。可以請一些人注意一下。在.Net ==運算符被重載以比較字符串的內容。
==比較字符串時不起作用,即使它不會產生錯誤。對於Java中的任何*對象*都是如此。使用* .equals *會給你一個正確的結果。這很簡單。 – Aaron
我仍然說我們需要一個「這不是你如何比較Java中的字符串」關閉選項。 –
我不明白倒票是關於什麼的。 – Marlon