Cursor.moveToFirst()和nullpointerexception

时间:2012-08-30 04:39:21

标签: android sqlite cursor

我的问题是:moveToFirst()会抛出NullPointerException吗?

我应该使用:

if (cursor != null) {
    if (cursor.moveToFirst()) {
        // TODO
    }
}

或只是:

if (cursor.moveToFirst()) {
    // TODO
}

2 个答案:

答案 0 :(得分:4)

您好像在使用Android CursorSQLiteDatabase类。如果是这样,那么cursor将永远不会为空。 (所以你不必担心这里的NullPointerException。)它们可以为空,但在这种情况下cursor.moveToFirst()将返回false。你可以安全地使用:

if (cursor.moveToFirst()) {
    // TODO
}

或多行:

while (cursor.moveToNext()) {
    // TODO
}

答案 1 :(得分:3)

除非moveToFirst()cursor,否则调用游标null不会出错。