4
我使用GSON轉換一個java.util.Date對象爲JSON,然後轉換回JSON成java.util.Date對象:的Java說,這些2個Date對象不相等
Date date = new Date();
System.out.println("date=" + date + "; date.getTime()=" + date.getTime());
String json = gson.toJson(date);
System.out.println("date in json format=" + json);
Date newDate = gson.fromJson(json, Date.class);
System.out.println("newDate=" + newDate + "; gettime=" + date.getTime());
if (!newDate.equals(date)) {
System.out.println("dates are not the same - bad");
}
else
System.out.println("dates are the same - good");
的2個Date對象應該是平等的,但你可以從輸出中看到,他們不是:
date=Fri Nov 23 12:18:21 EST 2012; date.getTime()=1353691101023
date in json format="Nov 23, 2012 12:18:21 PM"
newDate=Fri Nov 23 12:18:21 EST 2012; gettime=1353691101023
dates are not the same - bad
的Date對象如何可以是不同的,當Javadoc文檔的Date.equals()方法說「兩個日期當且僅當getTime方法返回相同的long值時,對象纔是相等的「?從輸出中可以看到,兩個Date對象都爲getTime()返回相同的值。
謝謝,我的錯誤。你是對的,newDate.getTime()是不同的,因爲Json沒有存儲毫秒。 – pacoverflow