在我的groovy应用程序中,我使用Hibernate createCriteria()接收java.sql.Timestamp对象,我想将其转换为java.util.Date对象。我尝试了以下代码,但无济于事:
Date javaDateObject = sqlDateObject
Date javaDateOject = (Date)sqlDateObject
Date javaDateObject = sqlDateObject as Date
我收到错误:
org.codehaus.groovy.runtime.typehandling.GroovyCastException:
Cannot cast object '[Ljava.lang.Object;@14a4864' with class
'[Ljava.lang.Object;' to class 'java.util.Date'
答案 0 :(得分:1)
尝试
Date javaDateObject = new Date(sqlDateObject.time)
答案 1 :(得分:1)
由于sqlDateObject实际上是Object []而不是java.sql.Timestamp,因此错误是正常的。
假设数组包含Timestamp作为(单个)第一个元素,您当然可以Date javaDateOject = (Date) sqlDateObject[0]
(或者""变体)。但由于Timestamp是Date的子类,因此实际上什么都不做。
如果你真的需要一个日期,我建议你这样做:
Date javaDateOject = new Date(sqlDateObject[0].time)