我在我的android應用程序中遇到了一個奇怪的問題。我必須比較兩個相等的字符串。我試過這個:比較兩件事不起作用
if (raspunsdata.equals(rok)) {
System.out.println("changed ");
} else
System.out.println("no change");
}
但我總是「沒有改變」。在此之前,我對這兩個字符串都有System.out.println,並且它們都具有相同的值。我也嘗試過(raspunsdata==rok)
和raspunsdata.contentEquals(rok)
但我有同樣的問題。爲什麼?我無法理解這一點,...請幫助...
你能顯示你存儲這個字符串變量的地方的整個代碼嗎? – user370305
那麼......字符串rok在這樣的活動開始時聲明:String rok =「true」; – Gabrielle
和raspunsdata是來自服務器的答案:HttpResponse response = httpclient.execute(httppost); \t \t \t \t/*檢查響應*/ \t \t \t在新= \t的BufferedReader(新的InputStreamReader(響應 \t \t \t \t \t \t .getEntity()的getContent())。); \t \t \t \t StringBuffer sb = new StringBuffer(「」); \t \t \t \t String line =「」; \t \t \t \t String NL = System.getProperty(「line.separator」); \t \t \t \t而(!(線= in.readLine())= NULL){ \t \t \t \t \t sb.append(線+ NL); \t \t \t \t} \t \t \t \t in.close(); \t \t \t \t raspunsdata = sb.toString(); \t \t \t \t System.out.println(「Raspuns data」+ raspunsdata); – Gabrielle