cursor.getLong(1)不抛出异常

时间:2017-07-28 08:10:29

标签: android database cursor android-sqlite

我在数据库中有一个空字段 当我在游标中检索它时,它为null。 我可以从

中看出来
  

cursor.isNull(1)为true   因此,当我执行 cursor.getLong(1)时,它应该根据文档引发异常。但它实际上检索0没有和例外。   任何想法为什么?

1 个答案:

答案 0 :(得分:1)

如果您查看MatrixCursor中方法getLong()的实现,您可以看到以下代码:

    @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());
}

如果值为null,则返回0。