使用 getDouble("columnName") 时如何检查 null?

How to check for null when using getDouble("columnName")?

我需要从数据库中检索一个 double 值,它可能存储为 null,因此我需要在检索之前或之后检测它是否为 null。但是,如果数据库中的值为空,方法 getDouble("columnName") 实际上 returns 0。

我已经尝试了此处提供的解决方案但无济于事(Android Studio 表示无法解析 wasNull() 和 getObject():

How do I in JDBC read a possibly null double value from resultSet?

这是我到目前为止尝试过的方法:

beer.setRating(beerObj.getDouble("myRating"));
if(beerObj.wasNull()){ //'Cannot resolve method wasNull'
}

还有这个:

Double doubleVal = (Double)beerObj.getObject("myRating"); //'Cannot resolve method getObject()' 

我还有其他属性正在使用 getString("otherColumnName") 检索,并且已正确检索,因此我假设 beerObj 也已正确检索。

是否有另一种方法可以在检索之前检查数据库中的 double 值是否为 null?

是的,将它放在您的 where 子句中:"WHERE columnname is not null"。如果有返回的记录那么它不是 null 如果没有返回的记录那么它是 null.

尝试if (resultset.getObject("columnName") == null)。很难从原来的 post 中判断出您是否试图在不传递值的情况下使用 getObject()