Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

Arrays.copyOf()

Копирует массив в новый — той же или другой длины. Часть массива копирует copyOfRange().

Доступно с: Java 6

Синтаксис

static int[] copyOf(int[] original, int newLength)

Параметры

ПараметрТипОписание
originalint[], T[], …Исходный массив.
newLengthintДлина копии. Если больше исходной — хвост заполняется значениями по умолчанию, если меньше — лишнее отрезается.

Возвращаемое значение

same array typeНовый массив того же типа.

Примеры

Копия, увеличенная копия и часть массива:

void main() {
    int[] original = {1, 2, 3};
    int[] copy = Arrays.copyOf(original, original.length);
    int[] bigger = Arrays.copyOf(original, 5);
    int[] middle = Arrays.copyOfRange(new int[] {10, 20, 30, 40}, 1, 3);
    copy[0] = 99;
    IO.println(Arrays.toString(original));
    IO.println(Arrays.toString(copy));
    IO.println(Arrays.toString(bigger));
    IO.println(Arrays.toString(middle));
}

Результат:

[1, 2, 3]
[99, 2, 3]
[1, 2, 3, 0, 0]
[20, 30]

Примечания

Присваивание int[] b = a; не копирует массив — обе переменные указывают на один и тот же массив. Копия создаётся через copyOf() или a.clone(). Копия неглубокая: для массива объектов копируются ссылки, сами объекты общие.

См. также

  • Arrays.fill() — Заполняет весь массив или его часть одним значением.
  • Arrays.equals() — Сравнивает содержимое двух массивов поэлементно.
  • array.length — Длина массива — количество элементов. Поле, а не метод: пишется без скобок.

Вопросы и ответы по теме

В учебнике

  • Класс Arrays — Утилиты класса java.util.Arrays: toString, sort, fill, copyOf, copyOfRange, equals и binarySearch.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.