我将日期传递给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]
为什么出现这种情况怎么可能我解决这个问题的任何想法?
那么,你期待什么样的输出?您将引用传递给同一个对象三次,并最终获得一个包含该对象三次的集合。 –