我希望有一个很好的方式来获得一个Java Date对象的当前Unix的时间戳,这是我的解决方案:的Java类型转换和继承
public class Date extends java.util.Date {
public int getUnixTimeStamp() {
int unixtimestamp = (int) (this.getTime() * .001);
return unixtimestamp;
}
}
这工作正常,但问题是当我尝试投了Java的Date对象,以我的自定义日期类,即:
Calendar foo = Calendar.getInstance();
foo.set(0, 0, 0, 12, 30);
myapp.Date foo2 = (myapp.Date)foo.getTime();
这生成:异常在线程 “主要” java.lang.ClassCastException:java.util.Date不能转换到myapp.Date
我理解为什么会产生这个异常,但有什么办法将超类转换为子类?如果不是,你将如何实现unixtimestamp方法?我经常在我的应用程序中使用它。