В java нет неявных копий, сделанных с помощью оператора присваивания.Переменные содержат эталонное значение (указатель), и когда вы используете =
, вы копируете только это значение.
Чтобы сохранить содержимое myTempObject
, вам необходимо сделать его копию.
Это может быть сделано путем создания нового ArrayList
с использованием конструктора, который принимает другой ArrayList
:
ArrayList<Object> myObject = new ArrayList<Object>(myTempObject);
Редактировать: Как указывает Богемский в комментарияхниже, это то, что вы спрашиваете?При выполнении вышеизложенного оба ArrayList
s (myTempObject
и myObject
) будут содержать ссылки на одинаковые объекты.Если вы действительно хотите новый список, который содержит новые копии объектов, содержащихся в myTempObject
, то вам нужно будет сделать копию каждого отдельного объекта в оригинале ArrayList