2014-10-16 38 views
0

我試圖插入日期爲越來越java.lang.ClassCastException: java.util.Datejava.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

發佈您的代碼和詳細的堆棧跟蹤 – 2014-10-16 09:58:31

+1

你不應該甚至需要'首先cast'它 – EpicPandaForce 2014-10-16 10:00:51

回答

1

您的代碼和錯誤消息不匹配。你必須使用其他版本的代碼。

您有:

java.sql.Date requiredByDate1 = ... 
pstmt.setDate(1, requiredByDate1); 

,但這些代碼不會導致

java.lang.ClassCastException: java.util.Date 

,因爲它不是java.util.Date。

0

你的代碼下面是:

Date dateFormatter = (Date) new SimpleDateFormat("dd/MM/yyyy"). 
               parse(requiredByDate.toString()); 

現在你日期可以是:

1)java.util.Date,OR

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