У мене є деякі структури даних, і я хотів би використовувати одну як тимчасову, а іншу як не тимчасову.
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. Але якщо вам потрібно зберегти всі об'єкти, тоді очищення тимчасового списку насправді не призведе до очищення великої кількості пам'яті. Оскільки ви намагаєтеся лише очистити посилання, наскільки об'єкти ви намагаєтеся зберегти.