final DateFormat dateFormat = DateFormat.getDateTimeInstance() ;
GregorianCalendar time = new GregorianCalendar();
GregorianCalendar limit = time;
limit.add(GregorianCalendar.HOUR_OF_DAY, 4);
String timeForm = dateFormat.format(time.getTime());
String limitForm = dateFormat.format(limit.getTime());
System.out.println(timeForm);
System.out.println(limitForm);
輸出應該是時間「now」,然後是4小時後的時間。當我更改GregorianCalendar的一個實例時,另一個實例發生更改
打印出來時,timeForm和limitForm都會顯示4小時後的時間。這是爲什麼?
那裏只有一個實例。一個變量不是一個實例,而是一個參考。 'GeorgianCalendar limit = time;'不會創建'GeorgianCalendar'的新實例,它只是告訴'limit'引用'time'引用的同一個對象。 –