2013-10-28 267 views
-1

下面是代碼,這部分只是簡單地比較兩個字符串,並返回true或false:爲什麼Java在兩個字符串之間表示不平等時相等?

boolean eq = Fori.commends.get(39).equals(Fori.commends.get(40)); 
if (eq){ 
    System.out.println(
    "40 and 41 are match " + Fori.commends.elementAt(39) + Fori.commends.elementAt(40));} 
else { 
    System.out.println("not match "+ "40: " + Fori.commends.elementAt(39)); 
    System.out.println("not match "+ "41: " + Fori.commends.elementAt(40)); 
} 

和輸出喜歡這樣的:

eq is false 
not match 40: 11111111111111111111111111111111 
not match 41: 11111111111111111111111111111111 
+1

我不明白你的問題。 –

+2

請格式化您的代碼。嘗試在平等測試前修剪()你的字符串。 –

+11

有可能沒有可打印的字符,空格,... – njzk2

回答

1
not match 41: 11111111111111111111111111111111 

到底有空間。這就是爲什麼他們不匹配對方。

+0

非常感謝你,我是Java的初學者,對於這樣的問題感到抱歉。 – Yaolong

相關問題