Tenho algumas estruturas de dados e gostaria de usar uma como temporária e outra como não temporária.
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();
agora o problema com isso, é claro, é que na myObject
verdade está apenas apontando myTempObject
, e assim que myTempObject
estiver limpo, assim será myObject
.
Como retenho os valores myTempObject
ao myObject
usar java?
List.addAll
. Mas se você precisar reter todos os objetos, limpar a lista temporária não limpará realmente muita memória. Porque você está apenas tentando limpar as referências, no que diz respeito aos objetos, você está tentando mantê-los.