请看如下代码:
public static void main(String[] args)
throws ParseException
{
Date currentDate = new Date();
Date beginDate = currentDate;
Date endDate = currentDate;
beginDate.setDate(currentDate.getDate() - 2);
System.out.println("beginDate====================" + beginDate.toLocaleString());
endDate.setDate(currentDate.getDate() + 5);
System.out.println("endDate====================" + endDate.toLocaleString());
System.out.println(beginDate == endDate);
System.out.println("begin:" + beginDate.toLocaleString() + "-----------endDate:" + endDate.toLocaleString());
}
输出结果很奇怪:beginDate====================2011-11-14 12:56:51
endDate====================2011-11-19 12:56:51
true
begin:2011-11-19 12:56:51-----------endDate:2011-11-19 12:56:51
虽然setDate方法已经过时,但是还是不明白这个输出结果为什么是这样的,麻烦指点,谢谢。
public static void main(String[] args)
throws ParseException
{
Date currentDate = new Date();
Date beginDate = currentDate;
Date endDate = currentDate;
beginDate.setDate(currentDate.getDate() - 2);
System.out.println("beginDate====================" + beginDate.toLocaleString());
endDate.setDate(currentDate.getDate() + 5);
System.out.println("endDate====================" + endDate.toLocaleString());
System.out.println(beginDate == endDate);
System.out.println("begin:" + beginDate.toLocaleString() + "-----------endDate:" + endDate.toLocaleString());
}
输出结果很奇怪:beginDate====================2011-11-14 12:56:51
endDate====================2011-11-19 12:56:51
true
begin:2011-11-19 12:56:51-----------endDate:2011-11-19 12:56:51
虽然setDate方法已经过时,但是还是不明白这个输出结果为什么是这样的,麻烦指点,谢谢。
请问为啥beginDate====================2011-11-14 12:56:51
endDate====================2011-11-19 12:56:51 这里打印的不一样呢? 既然是一个对象的话?
System.out.println("beginDate====================" + beginDate.toLocaleString());
endDate.setDate(currentDate.getDate() + 5);
System.out.println("endDate====================" + endDate.toLocaleString());你這裏打印了2次,在第2次之前你set了。
endDate====================2011-11-19 12:56:51 这两个打印出来的是同一个值,那好理解,问题是这两个打印的结果不一样啊。