我將日期傳遞給ArrayList
,但是當我更改Date
對象時,ArrayList
內部的所有Date
都將更改。這是一個例子:ArrayList通過日期對象引用傳遞?
Date currentDate = new Date("6/10/2011");
ArrayList<Date> datesList = new ArrayList();
currentDate.setDate(currentDate.getDate() + 1);
datesList.add(currentDate);
currentDate.setDate(currentDate.getDate() + 1);
datesList.add(currentDate);
currentDate.setDate(currentDate.getDate() + 1);
datesList.add(currentDate);
System.out.println(datesList.toString());
這將打印:
[Mon Jun 13 00:00:00 EDT 2011, Mon Jun 13 00:00:00 EDT 2011, Mon Jun 13 00:00:00 EDT 2011]
爲什麼出現這種情況怎麼可能我解決這個問題的任何想法?
那麼,你期待什麼樣的輸出?您將引用傳遞給同一個對象三次,並最終獲得一個包含該對象三次的集合。 –