当使用JDBC并通过结果集访问基本类型时,是否有一种更优雅的方式来处理null/0而不是以下:
int myInt = rs.getInt(columnNumber)
if(rs.wasNull())?
{
// Treat as null
} else
{
// Treat as 0
}
Run Code Online (Sandbox Code Playgroud)
每当我看到这种代码时,我个人都会畏缩.我没有看到为什么没有定义ResultSet来返回盒装的整数类型(可能除了性能)或者至少提供两者.如果有人能说服我当前的API设计很棒,那么奖励积分:)
我的个人解决方案是编写一个返回Integer的包装器(我更关心客户端代码的优雅而不是性能),但我想知道我是否错过了更好的方法来执行此操作.
只是为了澄清一下,对于这段代码困扰我的不是长度,而是它在后续调用之间创建状态依赖性的事实,以及看似简单的getter实际上在同一行中有副作用的事实.