我收到了错误
java.lang.ClassCastException:java.util.Date
在avb.Test.main(Test.java:38)
SimpleDateFormat(“yyyy-MM-dd HH:mm:ss.SSS”)
来自代码
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
String tmp = "2012-03-16 18:58:14.0";
Date MaxCmTimerUpdate = (Date)df.parse(tmp);
我做错了什么?我该如何解决?
答案 0 :(得分:5)
我的猜测是你有java.sql.Date
(或其他Date
类型)的导入,而SimpleDateFormat
则解析为java.util.Date
。你根本不需要演员。
您将无法转换为其他Date
类型 - 如果您需要创建java.sql.Date
,则必须基于 > java.util.Date
,例如
Date timerUpdate = new Date(df.parse(tmp).getTime());
答案 1 :(得分:1)
您是否意外导入java.sql.Date
而不是java.util.Date
?这是你在那里需要演员的唯一原因。
该死!被Jon Skeet击败了!乔恩,谷歌付给你什么? ; - )
答案 2 :(得分:1)
这样做有效:
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
String tmp = "2012-03-16 18:58:14.0";
java.util.Date maxCmTimerUpdate = df.parse(tmp);
如果是这样,其他2个答案是正确的。