将Java.Util.Date强制转换为Java.Sql.Date

可能重复:
如何将java.util.date转换为java.sql.date?

我在我的函数上发现错误,它在从DatatypeFactory df初始化newInstance()方法后显示错误结果,我收到另一个错误:

java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date 

我只是改变包名

 java.util.Date into java.SQL.Date 

然后施法:

 Date dateStarting = (Date) jDateChooserStart.getDate(); Date dateEnding = (Date) jDateChooserEnd.getDate(); 

如何解决这个问题?

(发布之前: 将jcalendar日期转换为XMLGregorianCalendar获取空值 )

无法从java.util.Datejava.sql.Date 。 您需要一种类型转换为另一种类型:

 java.util.Date utilStartDate = jDateChooserStart.getDate(); java.sql.Date sqlStartDate = new java.sql.Date(utilStartDate.getTime()); 

从类强制转换exception中,您可以看到这些是两种不同的类型,并且不能从一个转换为另一个。 要从java.util.Date转换为java.sql.Date ,您可以使用:

 java.util.Date date = new java.util.Date(); java.sql.Date sqlDate = new java.sql.Date(date.getTime());