【发布时间】:2014-03-27 00:57:35
【问题描述】:
根据this question/answer,这段代码:
try(PreparedStatement p_stmt = connection.prepareStatement(sql)) {
p_stmt.setString(1, null);
...
}
相当于:
try(PreparedStatement p_stmt = connection.prepareStatement(sql)) {
p_stmt.setNull(1, java.sql.Types.VARCHAR);
...
}
我的问题是,这与int / Integer 一样吗?换句话说,这段代码会做什么:
try(PreparedStatement p_stmt = connection.prepareStatement(sql)) {
Integer i = null;
p_stmt.setInt(1, i);
...
}
setInt() 接受一个不能为空的基元int,但未装箱的Integer 可以为空。
【问题讨论】:
-
This answer in your own link 回答了这个问题。
标签: java prepared-statement autoboxing