我有一些数据结构,我想将其中一个用作临时结构,将另一个用作非临时结构。
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
。
如何myTempObject
在myObject
使用Java时保留值?
List.addAll
。但是,如果您需要保留所有对象,那么清除临时列表实际上并不会清除大量内存。因为您只是尝试清除引用,所以您要尝试保留对象。