SimpleDateFormat提供了java.lang.classcastexception:java.util.date

时间:2011-06-13 06:52:04

标签: java date casting simpledateformat

String str = "13/06/2011";
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
Date date = (Date)formatter.parse(str);

4 个答案:

答案 0 :(得分:7)

我猜您的Date课程实际上是java.sql.Date

答案 1 :(得分:2)

您的进口声明说什么?您是偶然导入其他类(例如java.sql.Date)吗?当你删除类强制转换时(不应该存在),编译器会说什么?

答案 2 :(得分:2)

DateFormat.parse()会返回java.util.Date而非java.sql.Date的实例。 要从java.util.Date转换为java.sql.Date,请执行以下操作:

java.util.Date fromDate = df.parse(fromdate1);  
java.sql.Date sqlDate = new java.sql.Date(fromDate.getTime()); 

答案 3 :(得分:0)

这仅表示您在java.util.Date

中分配java.sql.Date

从您的示例中,您必须执行以下操作:

String str = "13/06/2011";
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
java.util.Date date = (java.util.Date)formatter.parse( str );