Метод copyOf
Метод copyOf класса Arrays создает новый массив,
который является копией исходного массива. Первым параметром
метод принимает исходный массив, который нужно скопировать.
Вторым параметром передается новая длина массива (newLength).
Если новая длина больше исходной, то оставшиеся элементы
заполняются значениями по умолчанию (0 для чисел, false для
boolean, null для объектов). Если новая длина меньше исходной,
массив обрезается до указанного размера.
Существует также перегруженная версия метода, которая принимает исходный массив, новую длину и класс компонента массива для создания нового массива того же типа.
Синтаксис
Arrays.copyOf(originalArray, newLength)
Arrays.copyOf(originalArray, newLength, newType)
Пример
Давайте скопируем массив целых чисел, увеличив его длину. Исходный массив содержит три элемента, а новый будет содержать пять элементов:
import java.util.Arrays;
public class Main
{
public static void main(String[] args)
{
int[] original = {1, 2, 3};
int[] res = Arrays.copyOf(original, 5);
System.out.println(Arrays.toString(res));
}
}
Результат выполнения кода:
[1, 2, 3, 0, 0]
Пример
Давайте скопируем массив строк, уменьшив его длину. Исходный массив содержит пять элементов, а новый будет содержать только три элемента:
import java.util.Arrays;
public class Main
{
public static void main(String[] args)
{
String[] original = {"a", "b", "c", "d", "e"};
String[] res = Arrays.copyOf(original, 3);
System.out.println(Arrays.toString(res));
}
}
Результат выполнения кода:
[a, b, c]
Пример
Давайте создадим точную копию массива, не изменяя его длину. В этом случае новый массив будет полностью идентичен исходному:
import java.util.Arrays;
public class Main
{
public static void main(String[] args)
{
int[] original = {1, 2, 3, 4, 5};
int[] res = Arrays.copyOf(original, original.length);
System.out.println(Arrays.toString(res));
}
}
Результат выполнения кода:
[1, 2, 3, 4, 5]
Смотрите также
-
метод
copyOfRange,
который копирует диапазон массива -
метод
toString,
который преобразует массив в строку -
метод
equals,
который сравнивает два массива -
класс
Arrays,
который содержит методы для работы с массивами