Назад к вопросам
Junior
116
questionbank

Что такое обертки (wrapper-классы) в Java?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Обертки (wrapper-классы) в Java — это классы из пакета java.lang, представляющие примитивные типы данных (byte, short, int, long, float, double, boolean, char) в виде объектов.

Основные особенности:

  • Объектное представление: Позволяют работать с примитивами, как с объектами, что необходимо для использования в коллекциях (например, ArrayList, HashMap), фреймворках, требующих объекты, и при работе с универсальными типами (generics).
  • Наличие методов: Обладают полезными методами для преобразования типов, манипуляций со значениями и сравнения.
  • Автоупаковка/Автораспаковка: Начиная с Java 5, существует механизм автоматического преобразования между примитивными типами и их обертками (autoboxing/unboxing), упрощающий код.

Примеры оберток:

Примитивный тип Класс-обертка
byte Byte
short Short
int Integer
long Long
float Float
double Double
boolean Boolean
char Character

Пример использования автоупаковки/автораспаковки:

// Автоупаковка: int -> Integer
Integer integerObject = 10; 

// Автораспаковка: Integer -> int
int primitiveInt = integerObject; 

// Использование в коллекции
List<Integer> numbers = new ArrayList<>();
numbers.add(25); // Автоупаковка
int firstElement = numbers.get(0); // Автораспаковка

Используются для обеспечения совместимости примитивных типов с объектно-ориентированными структурами и API Java.