Описание тега boxing
В Java и некоторых подобных языках существует различие между примитивами (или типами значений) и ссылочными типами. Примитивные типы работают как простые значения и при использовании в качестве параметра методов не изменяют исходный операнд. С другой стороны, ссылочные типы могут быть изменены при передаче в методы и имеют связанные классы, определяющие объекты этого типа (тогда как примитивы более "встроены"). Если смотреть с точки зрения языка, такого как C или C++, экземпляры ссылочных типов можно рассматривать как указатели, ссылки на которые автоматически отменяются.
Упаковка происходит, когда примитивный тип значения используется вместо соответствующего ссылочного типа. В Java, например, если значение типаint
используется там, где Integer
ожидается, компилятор автоматически заключит значение в Integer
объект.