Классы-обёртки (wrapper classes)
Коротко: Класс, «оборачивающий» примитивный тип данных (например, простое целое) в полноценный объект, — нужен, когда API или коллекция ожидает объект вместо примитивного значения.
Подробнее: У примитивных значений самих по себе нет методов, и их нельзя хранить в объектных структурах данных вроде списка — класс-обёртка даёт примитивному значению объектную оболочку с полезными дополнительными функциями (например, преобразование в строку, методы сравнения).
Подробности
int primitive = 5; // primСм. также: непримитивные типы, byte