【发布时间】:2013-07-09 15:28:08
【问题描述】:
我希望我现在只是感到困惑,因为我的 Java 程序表现得很奇怪。
我有以下代码:
Iterator<Entry<DateTime, Double>> itCur = this.curIntervalValues.entrySet().iterator();
Entry<DateTime, Double> last = null;
while (itCur.hasNext()){
Entry<DateTime, Double> curr = itCur.next();
//more code between
last = curr;
}
我的问题很简单:last = curr; 是否制作了curr 的深层副本?
或者如果curr 发生变化,last 现在每次都会变化吗?
【问题讨论】:
-
您还没有说明您的 Java 程序的行为方式,或者
curIntervalValues是什么,或者您希望curr以何种方式发生变化。如果您可以发布一个简短但完整的程序来演示该问题,将会有所帮助。 -
curIntervalValues代表什么数据结构? -
@sanbhat 看起来像
Map。 -
是的,它 curIntervalValues 是一个 Map
-
这正是常规行为——您不是在使用对象,而是在使用参考对象。
标签: java iterator copy deep-copy