簡體   English   中英

字符串比較無法正常工作

[英]String comparison not working correctly

我在使用String比較時遇到問題,而有些單詞則返回正確的結果,而其他單詞根本沒有。

for (int s = 0; s < subjects.getLength(); s++) {
    Element subject = (Element) subjects.item(s);
    String sub = subject
                    .getElementsByTagName("name").item(0)
                    .getTextContent();
    Log.d("Subject", getSubject() + "!A");
    Log.d("Subject", sub + "!B");
    Log.d("Subject", "equalsIC: " + String.valueOf(getSubject().equalsIgnoreCase(sub)));
    Log.d("Subject", "Contains: " + String.valueOf(getSubject().contains(sub)));
    Log.d("Subject", "Equals: " + String.valueOf(getSubject().equals(sub)));
    Log.d("Subject", "ContentEqu: " + String.valueOf(getSubject().contentEquals(sub)));
    Log.d("Subject", "Length A: " + String.valueOf(getSubject().length()) + "; Length B: " + String.valueOf(sub.length()));
    if (getSubject().equalsIgnoreCase(subject
               .getElementsByTagName("name").item(0)
               .getTextContent())) {
        Log.d("Subject", getSubject() + "Success !C");

getSubject方法返回一個字符串。 盡管這對於“ BK G3”非常適合:

D/Subject﹕ BK G3!A
D/Subject﹕ BK G3!B
D/Subject﹕ equalsIC: true
D/Subject﹕ Contains: true
D/Subject﹕ Equals: true
D/Subject﹕ ContentEqu: true
D/Subject﹕ Length A: 5; Length B: 5
D/Subject﹕ BK G3Success !C

它僅以“ D G4”失敗:

D/Subject﹕ D  G4!A
D/Subject﹕ D  G4!B
D/Subject﹕ equalsIC: false
D/Subject﹕ Contains: false
D/Subject﹕ Equals: false
D/Subject﹕ ContentEqu: false
D/Subject﹕ Length A: 5; Length B: 5

我用sub.trim()嘗試過,但是什么都沒有改變。

提前致謝。

編輯

調試為我提供了以下信息:

sub = (java.lang.String@83000929)"D  G4"
value = {char[5]@830092913560}
hashCode = 0
offset = 0
count = 5

((Activity_Add)this).subject = java.lang.String@830088265176)"D  G4"
value = {char[59]@830080636976}
hashCode = 0
offset = 6
count = 5

采用

sub.replaceAll("\\\\s+","")

代替

sub.trim();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM