Как скопировать массив?

Перечислим основные методы:

  • Object.clone() копирует массив полностью, не имеет никаких аргументов;
  • System.arraycopy() переносит данные из одного массива, начиная с заданной позиции в целевой массив (вставка начинается с заданной позиции);
  • Arrays.copyOf() копирует исходный массив, усекая его или дополняя нулями, чтобы копия имела заданную длину;
  • Arrays.copyOfRange() записывает часть исходного массива, от начального до конечного индекса, в новый.

Также возможно скопировать массив через поток. Этот способ рекомендуется использовать, когда необходимо, чтобы при копировании выполнялись дополнительные операции.

При использовании всех перечисленных методов создаётся поверхностная копия массивов, то есть они оба ссылаются на одинаковые объекты. Глубокую копию можно создать вручную. Для этого создаётся новый массив, с помощью оператора new. После чего его необходимо заполнить в цикле нужными элементами.

Для создания тестов можно использовать такой метод: сериализация и десериализация.

Поделиться уроком

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *