0
データベースにNULLのフィールドがあります カーソルで取得するとnullです。 私はcursor.getLong(1)例外をスローしない
cursor.isNullから(1)真であることを伝えることができ だから私はcursor.getLongは、(1)それはマニュアルに従って例外をスローする必要が行うとき。実際には0および例外なしで0を取得します。 なぜですか?
データベースにNULLのフィールドがあります カーソルで取得するとnullです。 私はcursor.getLong(1)例外をスローしない
cursor.isNullから(1)真であることを伝えることができ だから私はcursor.getLongは、(1)それはマニュアルに従って例外をスローする必要が行うとき。実際には0および例外なしで0を取得します。 なぜですか?
あなたはMatrixCursorのメソッドgetLong()
の実装を見てみる場合は、次のコードを見ることができます:値がnullの場合、0が返され、
@Override
public long getLong(int column) {
Object value = get(column);
if (value == null) return 0;
if (value instanceof Number) return ((Number) value).longValue();
return Long.parseLong(value.toString());
}
を。
右ですが、ドキュメントに準拠していません。 – neelabh
dbに格納されている変数の種類は何ですか? – Fabio
ロングですが、デフォルトはNULLで現在はnullです – neelabh