1

私のアプリにはデータベースがあり、そのうちの3つは次のとおり_id name selectedです。ここで、あるコードから取得した文字列である行から単一の値
を読み取りたいと思います。これを行うための最良の方法は何でしょうか? ありがとうselectedname

PS私はそれが0または1(2つの可能な値のみ)であるかどうかを確認するためにその値を取得しているので、フィールドで一種のifステートメントを作成する方法を尋ねたいですか?return私は何人かの人々がこれに似た何かでそれをするのを見ました:return true ? ... false

編集:
さて、これは私のコードATMです。すべてを取得するために他のことを行う必要があるため、まだチェックしていませんが、これを行うためのより良い方法があると思います。

public boolean isBandSelected(String name) {
    // TODO Auto-generated method stub
    Cursor cursor = mDb.query("bands", new String[] { "selected" }, "name="
            + name, null, null, null, null);
    int index = cursor.getColumnIndex("selected");
    String selected = cursor.getString(index);
    return selected == "1";
}
4

1 に答える 1

2

正規表現を使用して、名前フィールドが文字列である行を照合できます。多くのデータベースは正規表現をサポートできます。

三項演算子(?:)を使用して、このようなreturnステートメントを作成できます。

return value == 0 ? false : true

ただし、どの種類のデータ型を返すかによって異なります。上記のコードはブールデータ型を返します。

上記のコードの最後の行は常にを返しfalseます。これは、==オペレーターが2つのオブジェクトの参照を比較するためです。使用できます:

return "1".equals(selected); 
于 2013-01-11T01:51:42.843 に答える