我從我的數據庫中提取列值(它工作正常),然後我將這些值一次一個地放入'字符串X'中循環。在同一個循環中,我想比較用戶通過UI使用X提供給我的值,並基於此比較,我希望x爲真或假。但x總是表現真實!這裏是我的代碼:字符串比較不按預期工作。我想比較兩個字符串值,但比較似乎總是給出一個真實的結果
private boolean fillData() {
Cursor c = DBHelper.fetchAllIDs();
// List<String> idList = new ArrayList<String>();
if (c.moveToFirst()) {
do {
String X = (c.getString(c.getColumnIndexOrThrow("IDno")));
Toast.makeText(getApplicationContext(), "" +X, Toast.LENGTH_LONG).show();
String B = null;
B = Idno.getText().toString();
if (B.equals(X));
{
Toast.makeText(getApplicationContext(), "If condition true"+B, Toast.LENGTH_LONG).show();
x=true;
}
} while (c.moveToNext());
}
return x;
}
我認爲你設置x的默認值是true –
不,我在開始時聲明x爲false。 –
將x聲明爲局部變量,如果它是全局的,它將保持其先前的值。在x = true之後也會中斷。 – auselen