Подтвердить что ты не робот

New ArrayList <int>() не работает в Java

У меня есть следующий код:

List<int> intList = new ArrayList<int>();
for (int index = 0; index < ints.length; index++)
{
    intList.add(ints[index]);
}

Это дает мне ошибку...

Syntax error on token "int", Dimensions expected after this token

Ошибка происходит в строке, начинающейся с List. Может кто-нибудь объяснить, почему я получаю ошибку?

4b9b3361

Ответ 1

Обобщения в Java не применимы к примитивным типам, как в int. Вы, вероятно, должны использовать типы-оболочки, такие как Integer:

List<Integer> ints = ...

И, чтобы получить доступ к List, вам нужно использовать ints.get(index).

Ответ 2

Вы можете использовать только тип объекта в разделе <>, тогда как вы пытаетесь использовать примитивный тип. Попробуйте это...

List<Integer> intList = new ArrayList<Integer>();

Затем вам нужно получить доступ к значениям с помощью intList.get(index) и intList.set(index,value) (а также intList.add(value), как вы пытаетесь сделать)

Ответ 3

вы должны использовать Integer вместо int, потому что в списках требуется объект не примитивных типов. но вы можете добавить элемент типа int в список Integer

Ответ 4

Вы можете использовать примитивные коллекции, доступные в Eclipse Collections. Коллекции Eclipse имеют List, Set, Bag и Map для всех примитивов. Элементы в примитивных коллекциях сохраняются как примитивы, и бокс не имеет места.

Вы можете инициализировать IntList следующим образом:

MutableIntList intList = IntLists.mutable.empty();

Примечание. Я участвую в коллекциях Eclipse.