2017-07-28 3 views
0

データベースにNULLのフィールドがあります カーソルで取得するとnullです。 私はcursor.getLong(1)例外をスローしない

cursor.isNullから(1)真であることを伝えることができ だから私はcursor.getLongは、(1)それはマニュアルに従って例外をスローする必要が行うとき。実際には0および例外なしで0を取得します。 なぜですか?

+0

dbに格納されている変数の種類は何ですか? – Fabio

+0

ロングですが、デフォルトはNULLで現在はnullです – neelabh

答えて

1

あなたは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()); 
} 

を。

+0

右ですが、ドキュメントに準拠していません。 – neelabh

関連する問題