2011-08-04 61 views

回答

1

當您想比較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 
+0

true但是,喲通常不會使用新的關鍵字,因此字符串將被添加到字符串池和s1 == s2將是真實的。 –

+0

@Oscar Gomez - 我用它來避免使用String輸入的一個很長的例子,這對我來說似乎沒有必要。 – MByD

3

==不會比較字符串,但其addresse的價值。如果要比較值,請使用方法equals()。

0

'=='運算符比較兩個對象引用。因此,在兩個字符串的情況下,它正在檢查這些對象,並查看它們是否在內存中代表相同的位置。

.equals()方法將字符串的內容相互比較。

0

比較對象,==運算符比較引用是否相同。在原始類型(int,float,double,boolean)中,它實際上會比較值。由於字符串是對象,所以最好使用equals()方法。 ==會比較兩個字符串的引用是否相同,可能不會。 Java Collections也使用equals()方法。