Почему разрешено добавлять примитивные типы данных в ArrayList?

Я понимаю, что можно добавить объект Integer кArrayList типаInteger, Это имеет смысл для меня. Нравится:

ArrayList<Integer> list = new ArrayList<Integer>();
list.add(new Integer(3));

Но почему можно добавить примитивный тип данных типа int вместоInteger? Нравится:

ArrayList<Integer> list = new ArrayList<Integer>();
list.add(3);

Почему это разрешено?

Ответы на вопрос(1)

Ваш ответ на вопрос