可能重複:
Strings in Java : equals vs ==
Comparing strings in javaJava的==操作符使用
是==可以適用於字符串?
如果是的話那麼String的數據類型有什麼用?
換句話說,雖然我們應該使用相等的方法來比較兩個字符串java,但是在java中String的用法是什麼?
可能重複:
Strings in Java : equals vs ==
Comparing strings in javaJava的==操作符使用
是==可以適用於字符串?
如果是的話那麼String的數據類型有什麼用?
換句話說,雖然我們應該使用相等的方法來比較兩個字符串java,但是在java中String的用法是什麼?
當您想比較Java中的對象時,應該使用equals()
方法。運算符==
用於比較Java對象中的引用,而不是值。
例如:
String s1 = "hello";
String s2 = new String("hello");
boolean comp = s1.equals(s2); // correct, returns true
comp = s1 == s2; // wrong, returns false
==不會比較字符串,但其addresse的價值。如果要比較值,請使用方法equals()。
'=='運算符比較兩個對象引用。因此,在兩個字符串的情況下,它正在檢查這些對象,並查看它們是否在內存中代表相同的位置。
.equals()方法將字符串的內容相互比較。
比較對象,==運算符比較引用是否相同。在原始類型(int,float,double,boolean)中,它實際上會比較值。由於字符串是對象,所以最好使用equals()方法。 ==會比較兩個字符串的引用是否相同,可能不會。 Java Collections也使用equals()方法。
true但是,喲通常不會使用新的關鍵字,因此字符串將被添加到字符串池和s1 == s2將是真實的。 –
@Oscar Gomez - 我用它來避免使用String輸入的一個很長的例子,這對我來說似乎沒有必要。 – MByD