我试图将空值存储到数据库中,但每次我加载值得到0.
我声明这个字段就像"intVal integer"
这是我检索它的方式:
Integer x;
x = cursor.getInt(cursor.getColumnIndexOrThrow(MyDBAdapter.KEY_X));
Run Code Online (Sandbox Code Playgroud)
这可靠吗?还是未定义?
所以在我看来,无法将null保存为未定义的整数值
非常感谢
Gra*_*and 15
以int形式返回请求列的值.结果以及当列值为null时,此方法是否抛出异常,列类型不是整数类型,或者整数值超出范围[Integer.MIN_VALUE,Integer.MAX_VALUE]是实现定义的.
所以,这是一个你不应该依赖的实现细节.
但是,您仍然可以获得所需的效果:您只需在读取值之前进行空检查.
int index = cursor.getColumnIndexOrThrow(MyDBAdapter.KEY_X);
Integer x = null;
if (!cursor.isNull(index)
x = cursor.getInt(index);
// now x is either null or contains a valid value
Run Code Online (Sandbox Code Playgroud)