Все об автобоксинге в java

Боксинг - неявная операция, которая принимает на вход примитивный тип (int, float, boolean..) и автоматически помещает его внутрь объекта соответствующего ссылочного типа (класса-враппера). Например (int -> Integer).
Анбоксинг - обратная операция, которая принимает на вход ссылочный тип, скажем Integer, и конвертирует его обратного в примитивный тип, int.
![]() |
Коллекции не могут содержать примитивные типы данных (int, float, boolean) |
Из этого следует, что без боксинга, пришлось бы добавлять примитивы в коллекции, предварительно оборачивая их в объектный тип:
Случаи применения боксинга/анбоксинга:
Присваивания - конвертации при присваиваниях случаются в тех случаях, когда значение выражения присваивается к переменной. Если тип выражения не совпадает с типом переменной и нет риска потери данных, автоматически происходит конвертация.
Вызовы методов - в случаях, когда вызван метод, а типы аргументов не совпадают с переданными, возможны некоторые преобразования. Возможные конвертации:
- Идентичная конверсия - скажем передан Integer, а тип параметра - int
- Расширение диапазона примитива - передан int, а тип параметра - long
- Расширение ссылочного типа - передан Integer, а тип параметра - Long








Отправить комментарий