Как сделать глубокую копию Java ArrayList

Возможный дубликат:
Как клонировать ArrayList, а также клонировать его содержимое?

пытаясь сделать копию ArrayList. Основной объект прост, содержащий объекты Strings, ints, BigDecimals, Dates и DateTime. Как я могу гарантировать, что изменения, внесенные в новый ArrayList, не отражены в старом массиве ArrayList?

Person morts = new Person("whateva"); List oldList = new ArrayList(); oldList.add(morts); oldList.get(0).setName("Mortimer"); List newList = new ArrayList(); newList.addAll(oldList); newList.get(0).setName("Rupert"); System.out.println("oldName : " + oldList.get(0).getName()); System.out.println("newName : " + newList.get(0).getName()); 

Приветствия, P

    Клонирование объектов перед их добавлением. Например, вместо newList.addAll(oldList);

     for(Person p : oldList) { newList.add(p.clone()); } 

    Предполагая, что clone правильно переопределен в Person .

     public class Person{ String s; Date d; ... public Person clone(){ Person p = new Person(); ps = this.s.clone(); pd = this.d.clone(); ... return p; } } 

    В вашем исполняемом коде:

     ArrayList clone = new ArrayList(); for(Person p : originalList) clone.add(p.clone()); 
    Interesting Posts

    Как проверить, содержит ли строка строку Swift?

    Почему новый fb api 2.4 возвращает нулевой адрес электронной почты на MVC 5 с Identity и oauth 2?

    Как я могу сделать снимок с помощью своей веб-камеры в Windows 7?

    Как java-настроить отдельные источники данных для весенних пакетных данных и бизнес-данных? Должен ли я это сделать?

    mongodb подсчитывает количество различных значений для поля / ключа

    Как включить общий буфер обмена в VirtualBox?

    В чем разница между VLAN и подсетью?

    Конвертировать приложение Ruby on Rails из sqlite в MySQL?

    Как получить данные с мертвого жесткого диска

    Как поступают события Android touch?

    Что представляет собой значок Windows 8 в качестве значка прямоугольника в строке заголовка?

    jQuery: Выполнение одновременных запросов ajax, возможно ли это?

    Почему мы должны инициализировать переменную перед ее использованием?

    Как вы разделяете USB-флеш-накопитель?

    В Windows 10 как обеспечить, чтобы весь трафик проходил через VPN?

    Давайте будем гением компьютера.