Я пытаюсь сохранить временный контейнер класса, который содержит элемент:Копирование HashMap в Java
HashMap<Integer,myObject> myobjectHashMap
класс называется myobjectsList
Тогда я
myojbectsListA = new myojbectsList();
myojbectsListB = new myobjectsList();
тогда: Добавить некоторые элементы хэш-функции в A (like2)
затем
myobjectListB = myobjectListA; //B has 2
then: Добавить элементы hashmap в A; (например, еще 4)
затем верните A в предметы, хранящиеся в B;
myobjectListA = myobjectListb;
, но когда я делаю это B растет с A, а я добавляю элементы HashMap А. А теперь имеет 6 пунктов в нем, потому что B был 6.
Я хочу, чтобы иметь оригинал 2 еще в конце после последнего подсчета в C++ я бы использовал копию с объектами, что такое эквивалент java?
Добавлено: OK Я ничего не объяснил, объясняя это. MyObjectsList не содержит HashMap, он получен из класса MyBaseOjbectsList, у которого есть член HashMap, а MyObjectsList расширяет MyBaseOjbectsList. Это имеет значение.?
Вы можете оставить [SSCCE] (http://sscce.org), чтобы дать лучшее понимание того, что вы сделали до сих пор? – assylias
Ваши объекты должны реализовывать интерфейс Cloneable, в противном случае назначения, такие как MyObjectB = MyObjectA, просто указывают JVM, что обе переменные указывают на одно и то же местоположение в памяти. Не два разных объекта. –
Btw, подавляющая идиома (практически закон) заключается в том, чтобы капитализировать имена классов. Это сделает ваши примеры более читабельными для тех из нас, кто использует эти вещи в качестве быстрых сигналов во время сканирования примера кода. –