Классы-обертки (или просто обертки) в Java представляют собой классы, которые обеспечивают упаковку (обертывание) примитивных типов данных в объекты. В Java есть обертки для всех примитивных типов данных: Integer для int, Double для double, Boolean для boolean и так далее. Обертки позволяют использовать примитивные типы данных в контексте объектно-ориентированного программирования. Они предоставляют дополнительные методы и функциональность, которая недоступна для примитивных типов данных. Например, класс Integer предоставляет методы для преобразования числа в строку, сравнения чисел и выполнения других операций. Одним из основных применений классов-оберток является использование их в коллекциях и других структурах данных, которые могут работать только с объектами, а не с примитивными типами данных. Кроме того, классы-обертки также могут использоваться для передачи примитивных типов данных по ссылке вместо передачи по значению. Обертки обеспечивают удобство и гибкость при работе с примитивными типами данных в Java, позволяя использовать их в контексте объектно-ориентированного программирования и получать дополнительные возможности, предоставляемые классами-обертками.