在開發過程中涉及到日期循環,這就涉及到Date類拷貝的問題。
Date實現了Clonable接口,且實現了深拷貝。驗證代碼如下:
public static void main(String[] args) {
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
Date d1=new Date();
Date d2=(Date)d1.clone();
d2 = DateUtils.addDays(d2, 1);
System.out.println(format.format(d1));
System.out.println(format.format(d2));
}
運行結果:
2015-07-31
2015-08-01
附上日期循環的代碼:
Date fromDate=(Date)d1.clone();
while (fromDate.before(d2)){
//實現業務邏輯
fromDate = DateUtils.addDays(fromDate, 1);
}