从 ResultSet 获取 Integer 对象
ResultSet
提供返回原始 int
的方法 getInt()
。是否可以获得允许 null
的 Integer
对象?我正在检索的数据库字段可为空,只要该字段为 null
,getInt()
就会返回 0
。
谢谢
A ResultSet
provides method getInt()
that returns primitive int
. Is it possible to obtain the Integer
object, which permits null
? The DB field I'm retrieving is nullable and getInt()
returns me 0
whenever the field is null
.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
只需检查该字段是否为
null
或不使用ResultSet#getObject()
。或者,如果您可以保证使用正确的数据库列类型,以便
ResultSet#getObject()
真正返回Integer
(因此不是Long
>、Short
或Byte
),那么您也可以直接对其进行类型转换。更新:适用于 Java 1.7+
Just check if the field is
null
or not usingResultSet#getObject()
.Or, if you can guarantee that you use the right DB column type so that
ResultSet#getObject()
really returns anInteger
(and thus notLong
,Short
orByte
), then you can also just typecast it.UPDATE: For Java 1.7+
您可以在检索值后检查
wasNull
。来自文档 :
You can check for
wasNull
after retrieving the value.From the documentation:
还有一个更简单的方法,直接输入cast即可。如果为空,则将为空。如果有效,则它成为自动装箱对象。
There is a simpler way., Just type cast it. If null, it will be null. If valid, then it becomes the autoboxed object.