我有这个问题.. 我有一个Hashmap包含String作为键,Object作为值。我里面有一个日期对象...... 在设置存储过程调用DB的值时,我想将其转换为sql Date类型..
代码段..
this.cStmt.setDate(15,(java.sql.Date) (SubsProfile.get(Constants.SUBSC_DETAILS_EXPIRY_DATE_1)));
但是在运行时我得到的是ClassCastException ..
例外: -
java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date
请帮我转换为合适的类型......
答案 0 :(得分:2)
这是因为,正如异常所说,您的对象是java。 util .Date,并且您将它转换为java。 sql .Date!
这样做:
java.sql.Date sqlDate = new java.sql.Date(((java.util.Date)SubsProfile.get(Constants.SUBSC_DETAILS_EXPIRY_DATE_1)).getTime());
this.cStmt.setDate(15,sqlDate);
答案 1 :(得分:1)
获取您拥有的java.util.Date对象的long值,并使用该long值创建一个java.sql.Date对象。
答案 2 :(得分:1)
java.util.Date utilDate = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
这应该可以帮助您将util.Date转换为sql.Date