01. Целое число может быть нулевым. Но int не может быть нулевым.
Integer value1 = null; //OK
int value2 = null //Error
02. Только могут передавать значения типа Wrapper Classes любому классу коллекции.
(Wrapper Classes - Boolean, Символ, Байт, Короткое, Целое, Длинное, Плавающее, Двойное)
List<Integer> element = new ArrayList<>();
int valueInt = 10;
Integer valueInteger = new Integer(value);
element.add(valueInteger);
Но обычно мы добавляем примитивные значения в класс коллекции? Точка 02 верна?
List<Integer> element = new ArrayList<>();
element.add(5);
Да, 02 правильно, beacouse autoboxing.
Autoboxing - это автоматическое преобразование, которое делает компилятор Java
между типом примитива и соответствующим им классом-оберткой.
Затем 5 преобразовать в целочисленное значение путем автобокса.