众所周知,调用preparedStatement.setDate(date)方法时,其中的参数date如果是util包中的,则必须显式转换成sql包中的才可以作为参数传入setDate()方法可是怪异的现象发生了:
某个实体类中定义了一个方法:public class Leave
{
public void setProcessedDate(java.util.Date processedDate) {
this.processedDate = processedDate;
}
...
...
...
}
当调用这个方法时,居然可以直接往里面传sql包里的Date参数,也就是说:
Leave leave = new Leave();
leave.setProcessedDate(rs.getDate());
以上两行代码居然没有报错!
resultSet.getDate()返回的是一个sql包里的Date对象,居然直接作为实参传到只接受util包Date形参的方法里去了
这个现象实在是太怪异了,敢问各位前辈,这到底是怎么回事呢?
某个实体类中定义了一个方法:public class Leave
{
public void setProcessedDate(java.util.Date processedDate) {
this.processedDate = processedDate;
}
...
...
...
}
当调用这个方法时,居然可以直接往里面传sql包里的Date参数,也就是说:
Leave leave = new Leave();
leave.setProcessedDate(rs.getDate());
以上两行代码居然没有报错!
resultSet.getDate()返回的是一个sql包里的Date对象,居然直接作为实参传到只接受util包Date形参的方法里去了
这个现象实在是太怪异了,敢问各位前辈,这到底是怎么回事呢?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货