1. Введение
Когда мы хотим скопировать объект в Java, нам нужно рассмотреть две возможности: поверхностную копию и глубокую копию .
При поверхностном копировании мы копируем только значения полей, поэтому копия может зависеть от исходного объекта. В подходе глубокого копирования мы гарантируем, что все объекты в дереве глубоко скопированы, поэтому копия не зависит от какого-либо ранее существовавшего объекта, который может когда-либо измениться.
В этом руководстве мы сравним эти два подхода и изучим четыре метода реализации глубокого копирования.