Ответ 1
Список Integer
.
List<Integer> list = new ArrayList<>();
int x = 5;
list.add(x);
У меня есть значения, которые я бы хотел добавить в ArrayList, чтобы отслеживать, какие числа показываются. Значения являются целыми числами, поэтому я создал ArrayList;
ArrayList<Integer[]> list = new ArrayList<>();
int x = 5
list.add(x);
Но я не могу ничего добавить к ArrayList, используя этот метод. Он работает, если я использую строки для списка массивов. Должен ли я сделать его массивом String, а затем каким-то образом преобразовать массив в целые числа?
EDIT: У меня есть другой вопрос. Я бы хотел, чтобы список содержал только 3 значения. Как мне это сделать?
Список Integer
.
List<Integer> list = new ArrayList<>();
int x = 5;
list.add(x);
Вы пытаетесь добавить целое число в ArrayList
, которое принимает массив целых чисел Integer[]
. Это должно быть
ArrayList<Integer> list = new ArrayList<>();
или лучше
List<Integer> list = new ArrayList<>();
вы не создаете arraylist для целых чисел, но вы пытаетесь создать arraylist для массивов целых чисел.
поэтому, если вы хотите, чтобы ваш код работал просто.
List<Integer> list = new ArrayList<>();
int x = 5;
list.add(x);
вы не должны использовать массив Integer[]
внутри списка, так как сам arraylist является своего рода массивом. Просто оставьте []
и он должен работать
На самом деле то, что вы сделали, также не ошибочно, ваша декларация прав. С вашей декларацией JVM создаст массив ArrayList из целых массивов. Каждая запись в arraylist соответствует целочисленному массиву, поэтому ваша функция добавления должна передать целочисленный массив в качестве параметра.
Для Ex:
list.add(new Integer[3]);
Таким образом, первая запись ArrayList представляет собой целочисленный массив, который может содержать максимум 3 значения.
[]
не имеет смысла в момент создания ArrayList из целых чисел, потому что я предполагаю, что вы просто хотите добавить целочисленные значения.
Просто используйте
ArrayList<Integer> list = new ArrayList();
чтобы создать ArrayList, и он будет работать.