【发布时间】:2012-01-16 12:28:14
【问题描述】:
我有一些数据结构,我想将一个用作临时数据结构,另一个用作非临时数据结构。
ArrayList<Object> myObject = new ArrayList<Object>();
ArrayList<Object> myTempObject = new ArrayList<Object>();
//fill myTempObject here
....
//make myObject contain the same values as myTempObject
myObject = myTempObject;
//free up memory by clearing myTempObject
myTempObject.clear();
现在这个问题当然是myObject实际上只是指向myTempObject,所以一旦myTempObject被清除,myObject也是如此。
如何使用 java 在myObject 中保留来自myTempObject 的值?
【问题讨论】:
-
您可以使用
List.addAll。但是,如果您需要保留所有对象,那么清除临时列表并不会真正清除大量内存。因为您只是想清除引用,就您试图保留它们的对象而言。 -
据我所知,这个答案仍然有效:stackoverflow.com/questions/715650/…
-
很难解释您真正想要实现的目标。你需要说明你的情况。
标签: java reference variable-assignment