Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
7 профессий по цене одной
07:05:47:06
дн. ч. мин. сек.
24 Авг 2023
2 мин
383

Конвертация ArrayList в String[] в Java

Во время работы с Java разработчикам часто приходится сталкиваться с ситуацией, когда необходимо преобразовать коллекцию типа ArrayList<String> в массив

Во время работы с Java разработчикам часто приходится сталкиваться с ситуацией, когда необходимо преобразовать коллекцию типа ArrayList<String> в массив строк String[]. Это может потребоваться, например, при работе с API, которое принимает на вход массивы, а не коллекции.

Рассмотрим типичный пример. Пусть есть объект ArrayList<String>, который содержит некоторые строки.

ArrayList&lt;String&gt; arrList = new ArrayList&lt;String&gt;();
arrList.add("Java");
arrList.add("Python");
arrList.add("C++");

Предположим, что по какой-то причине необходимо преобразовать этот список в массив строк. В Java это можно сделать несколькими способами.

Способ 1: Использование метода toArray()

Самый простой и распространенный способ — использование метода toArray(), который предоставляет класс ArrayList. В качестве аргумента этому методу передается массив того же типа, что и список. Размер этого массива должен быть равен размеру списка. Если размер массива меньше, то будет создан новый массив нужного размера.

String[] arr = new String[arrList.size()];
arr = arrList.toArray(arr);

Способ 2: Использование метода toArray() без аргументов

Метод toArray() также можно вызвать без аргументов. Однако в этом случае он вернет массив типа Object[], который затем нужно будет привести к нужному типу.

Object[] objArr = arrList.toArray();
String[] strArr = Arrays.copyOf(objArr, objArr.length, String[].class);

Оба этих способа позволяют преобразовать ArrayList<String> в String[]. Однако стоит помнить, что они работают только с типами-обертками (такими как String), а не с примитивными типами (такими как int или char). Если в списке хранятся примитивные типы, то их сначала нужно будет преобразовать в соответствующие типы-обертки.

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий