1. Типы данных в Java делятся на базовые типы данных и сложные типы данных.
int — первое, а целое число — второе (то есть класс).
2. Во время инициализации
Integer i = new Integer(1) // (считаем целое число классом)
Integer — это класс, расширение int, определяющий множество методов преобразования.
К подобным относятся: float Float, double Double, строка String и т. д.
Например: когда вам нужно поместить что-то в ArrayList или HashMap, нельзя вставить встроенные типы, такие как int и double, поскольку контейнеры содержат объекты. Для этого требуются внешние покрывающие классы этих встроенных типов.
Каждому встроенному типу в Java соответствует соответствующий класс покрытия.
Связь между int и Integer в Java относительно тонкая. Отношения следующие:
1. int — базовый тип данных;
2. Integer — это класс инкапсуляции int;
3. И int, и Integer могут представлять определенное значение;
4. Int и Integer не могут использоваться взаимозаменяемо, поскольку это два разных типа данных;
Пример: