可能重複:
Java string comparison?(「kg」==「kg」)返回false。我如何告訴java,這個比較返回true?
我試圖做到這一點:
boolean exit = false;
while(exit==false && convStoreIndex<convStoreLength) {
if(conversionStore[convStoreIndex].getInUnit()==inUnit) {
indexCount++;
exit=true;
}
convStoreIndex++;
}
但如果條件從來沒有真正的,即使兩個絲線的相同(在調試器中檢查過)。 所以我加了一些行:
boolean exit = false;
while(exit==false && convStoreIndex<convStoreLength) {
Log.v("conversionStore["+String.valueOf(convStoreIndex)+"]", conversionStore[convStoreIndex].getInUnit()+"|"+inUnit);
String cs = conversionStore[convStoreIndex].getInUnit();
String iu = inUnit;
Log.v("cs", cs);
Log.v("iu", iu);
Log.v("Ergebnis(cs==iu)", String.valueOf(cs==iu));
if(conversionStore[convStoreIndex].getInUnit()==inUnit) {
indexCount++;
exit=true;
}
convStoreIndex++;
}
,這裏是從logcat中提取:
09-15 11:07:14.525: VERBOSE/cs(585): kg
09-15 11:07:16.148: VERBOSE/iu(585): kg
09-15 11:07:17.687: VERBOSE/Ergebnis(cs==iu)(585): false
類conversionStore的:
class ConversionStore {
private String inUnit;
[...]
public String getInUnit() {
return inUnit;
}
}
誰是瘋狂,JAVA還是我?
你的標題也是誤導,因爲你沒有 「公斤」 == 「公斤」(我認爲,實際上評估爲true)。 –
在Zukunft'!exit' statt'exit == false' schreiben中bit bit。 – starblue