Java:可以设置Integer = null吗?

前端之家收集整理的这篇文章主要介绍了Java:可以设置Integer = null吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果数据库中存在该参数,我有一个返回id号的函数.如果没有,则返回null.这是乞求一个空指针异常吗?不允许使用负号,但是我认为不存在的参数返回null而不是像-1这样的错误代码会更清楚.你怎么看?
private Integer tidOfTerm(String name) throws sqlException {
    String sql = "SELECT tid FROM term_data WHERE name = ?";
    PreparedStatement prep = conn.prepareStatement(sql);
    prep.setString(1,name);
    ResultSet result = prep.getResultSet();

    if (result.next()) {
        return result.getInt("tid");
    }

    return null; // TODO: is this begging for a null pointer exception?
}

解决方法

这是完全合法的.如果要避免NPE,请抛出一个自定义异常.但不要返回负数.如果调用者不检查返回值,您将总是有问题.但是做错误的计算(因为结果比例乘以-1)绝对比非捕获异常更难调试.

猜你在找的Java相关文章