我希望有一個很好的方式來獲得一個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方法?我經常在我的應用程序中使用它。