一尘不染

从ResultSet中获取Integer对象

java

ResultSet提供方法getInt()返回原语int。是否有可能获得Integer允许的物体null?我正在检索的数据库字段可以为空,并且只要该字段为,就会getInt()返回我。0``null

谢谢


阅读 431

收藏
2020-12-03

共1个答案

一尘不染

只需检查该字段是否在null使用ResultSet#getObject()

Integer foo = resultSet.getObject("foo") != null ? resultSet.getInt("foo") : null;

或者,如果你能保证你使用正确的数据库列类型,以便ResultSet#getObject()真正返回Integer(因而没有LongShortByte),那么你也可以强制转换它。

Integer foo = (Integer) resultSet.getObject("foo");

更新:对于Java 1.7+

Integer foo = resultSet.getObject("foo", Integer.class);
2020-12-03