【发布时间】:2011-01-08 20:41:34
【问题描述】:
如果参数存在于数据库中,我有一个函数会返回一个 ID 号。如果不是,则返回 null。这是在乞求空指针异常吗?不允许使用负 id 编号,但我认为让不存在的参数返回 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?
}
【问题讨论】:
-
你的 return 语句可以更短: return result.next() ?结果.getInt("tid") ?空;
-
@Willi - 更短!= 更具可读性
-
大体上同意,但在上面的例子中会更好。
标签: java integer autoboxing error-code