我正在尝试将Date插入数据库列类型Date
得到java.lang.ClassCastException: java.util.Date
代码:
Date dateFormatter = (Date) new SimpleDateFormat("dd/MM/yyyy").parse(requiredByDate.toString());
java.sql.Date requiredByDate1 = new java.sql.Date(dateFormatter.getTime());
设置为准备好的声明:
pstmt.setDate(1, requiredByDate1);
收到错误
java.lang.ClassCastException: java.util.Date
建议如何解决这个问题。
谢谢
答案 0 :(得分:1)
您的代码和错误消息不匹配。您必须使用其他版本的代码。
你有:
java.sql.Date requiredByDate1 = ...
pstmt.setDate(1, requiredByDate1);
但该代码不能导致
java.lang.ClassCastException: java.util.Date
因为它不是java.util.Date。
答案 1 :(得分:0)
您的代码以下是:
Date dateFormatter = (Date) new SimpleDateFormat("dd/MM/yyyy").
parse(requiredByDate.toString());
现在您的日期可能是:
1)java.util.Date ,或
2)java.sql.Date ,最终是 java.util.Date的子类。
然而,
SimpleDateFormat class belongs to java.text package. And you are trying to cast
an object of java.text.SimpleDateFormat to java.util.Date( OR java.sql.Date)
which is why you are getting java.lang.ClassCastException