ArrayList<Integer>numbers=new ArrayList<Integer>();
...................... // Действия, заполняющие массив ArrayList данными
.......................
//Тут я хочу преобразовать ArrayList в обычный массив
int []nums = numbers.toArray(new int[numbers.size()]);
В общем компилятор подчеркивает красной волнистой линией выражение (new int[numbers.size()]).
Что не так? Спасибо
stepa113
11 уровень
Преобразование ArrayList в обычный массив.
Обсуждается
Комментарии (6)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ksenia VolkovaJava Developer в DXCMaster
10 декабря 2020, 09:15
toArray не работает с примитивными типами
0
stepa113
10 декабря 2020, 09:23
А есть способ решения этой задачи? Можно как нибудь преобразовать ArrayList с примитивными типами в обычный массив?
0
Ksenia VolkovaJava Developer в DXCMaster
10 декабря 2020, 09:29
ArrayList с примитивными типами в принципе не может существовать.
У тебя есть ArrayList<Integer>. Определись, во что ты его хочешь превратить - в int[] или в Integer[] ?
Будет задача - найдется и решение )
0
stepa113
10 декабря 2020, 09:41
У меня видимо не хватает познаний, чтобы четко сформулировать вопрос. Я просто вводил с консоли числа и записывал в ArrayList. Я использую ArrayList так как, подразумевается, что я не знаю точное количество чисел, которые я буду вводить в консоль. Потом я хотел преобразовать список ArrayList в обычный числовой массив)
0
stepa113
10 декабря 2020, 09:42
int это тип примитивной переменной, Integer это класс оболочка, которая работает с int
0
Ksenia VolkovaJava Developer в DXCMaster
10 декабря 2020, 10:18
Если хочешь получить Integer[] - с этим как раз справится toArray.
Если нужен int[] - одним волшебным словом тут не обойтись. Самый очевидный вариант - заполнить массив в цикле.
(Ну или можно с помощью стрима - но тут уж лучше сначала разобраться с тем, что такое стримы и как они работают).
+1