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