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 myObjectverdade está apenas apontando myTempObject, e assim que myTempObjectestiver limpo, assim será myObject.
Como retenho os valores myTempObjectao myObjectusar 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.