我有兩個「相等」的字符串。當我打印兩個字符串時,它們在屏幕上看起來完全一樣。但是,當我比較字符串的結果是「假」,並在兩個字符串中使用.length時,第一個字符串的結果爲174,第二個字符串的結果爲171。我已經刪除了所有空格和所有設置字符串的行。問題等於Java中的字符串
String 1:
<docxmlns="http://example.com/default"xmlns:x="http://example.com/x"><aa1="1"a2="2">123</a><bxmlns:y="http://example.com/y"a3=""3""y:a1="1"y:a2="2">cdf</b></doc>
String 2:
<docxmlns="http://example.com/default"xmlns:x="http://example.com/x"><aa1="1"a2="2">123</a><bxmlns:y="http://example.com/y"a3=""3""y:a1="1"y:a2="2">cdf</b></doc>
String 1 length: 174
String 2 length: 171
我從NetBeans控制檯複製了兩個字符串,就像你看到它們是相等的,但它們有不同的長度。
謝謝。
當你說比較時,這是什麼意思?你可以發佈你的比較代碼嗎?它聽起來像是修剪或字符編碼問題。 – joostschouten 2011-06-16 16:12:51
if(archCan.equals(arch))...我使用這種方法進行比較,並在比較之前使用trim。我認爲這可能是一個編碼問題。 – arkhadi 2011-06-16 16:16:22
if(archCan.trim()。equals(arch.trim()))做什麼? – joostschouten 2011-06-16 16:18:29