Назад к вопросам
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.