При работе с массивами в Java часто можно столкнуться с необходимостью преобразовать массив примитивных целых чисел (int[]) в массив объектов-оберток (Integer[]) или List<Integer>. В этой статье мы рассмотрим несколько методов такого преобразования, а также приведем примеры кода.
Метод 1. Использование цикла.
Самый простой подход — перебрать массив int[]и вручную преобразовать каждый элемент в соответствующий объект Integer.
Метод 1. >
int[] intArray = {1, 2, 3, 4, 5};
Integer[] integerArray = new Integer[intArray.length];
for (int i = 0; i < intArray.length; i++) {
integerArray[i] = Integer.valueOf(intArray[i]);
}
Метод 2: использование Apache Commons Lang
Библиотека Apache Commons Lang предоставляет удобный служебный класс ArrayUtils, который включает метод преобразования int[]в Integer[].
import org.apache.commons.lang3.ArrayUtils;
int[] intArray = {1, 2, 3, 4, 5};
Integer[] integerArray = ArrayUtils.toObject(intArray);
Метод 3: использование потоков Java 8
В Java 8 и более поздних версиях для выполнения преобразования можно использовать потоки.
import java.util.Arrays;
import java.util.stream.IntStream;
int[] intArray = {1, 2, 3, 4, 5};
Integer[] integerArray = IntStream.of(intArray)
.boxed()
.toArray(Integer[]::new);
Метод 4: использование Arrays.asList()
Если вы предпочитаете List<Integer>вместо массива, вы можете использовать метод Arrays.asList().
import java.util.Arrays;
import java.util.List;
int[] intArray = {1, 2, 3, 4, 5};
List<Integer> integerList = Arrays.asList(ArrayUtils.toObject(intArray));
Метод 5: использование Java 9 Arrays.stream()
Начиная с Java 9, вы можете использовать метод Arrays.stream()для преобразования int[]в Integer[].
import java.util.Arrays;
int[] intArray = {1, 2, 3, 4, 5};
Integer[] integerArray = Arrays.stream(intArray)
.boxed()
.toArray(Integer[]::new);
В этой статье мы рассмотрели несколько методов преобразования int[]в Integer[]или List<Integer>. Предпочитаете ли вы использовать циклы, служебные библиотеки или потоки Java, у вас есть несколько вариантов на выбор в зависимости от ваших предпочтений и требований проекта. Используя эти методы, вы можете легко преобразовывать примитивные типы в типы-оболочки в соответствии с вашими потребностями в программировании.