Java Autoboxing и Unboxing

Autoboxing и Unboxing - это функции, включенные в Java 1.5, где автоматическое преобразование происходит от примитивного типа до соответствующего класса класса Wrapper и Vice Versa.

Автобоксинг - это процесс преобразования данных примитивного типа в соответствующий экземпляр объекта класса-оболочки. Он включает в себя динамическое распределение памяти и инициализацию объекта для каждого примитива. В autoboxing нет необходимости явно конструировать объект.

Пример:

Распаковка

Unboxing - это процесс преобразования экземпляра оболочки в примитивный тип. Это процесс, посредством которого значение типа объекта в штучной упаковке автоматически распаковывается из оболочки, когда требуется его значение. Для этого нет необходимости вызывать метод, такой как doubleValue() или intValue().

Пример:

Когда требуется?

Когда метод ожидает объект класса-оболочки, но значение, которое передается как параметр, является примитивным типом. Когда примитивное значение присваивается переменной класса оболочки или наоборот.

Преимущества

Не нужно явно создавать объект и обертывать значение примитивного типа.

Неудобство

«Аутобоксинг» слишком неожиданен в своем поведении и может легко привести к затруднению распознавания ошибок.

Производительность

Autoboxing создает объекты, которые не ясно видны в коде. Поэтому, когда происходит аутобоксинг, производительность ухудшается.

Что такое класс Wrapper?

Класс-оболочка - это класс, который «обрывает» функциональность другого класса или компонента. То есть, он обертывает примитивный тип данных и придает ему внешний вид объекта. Преимущество состоит в том, что его можно использовать всякий раз, когда примитивный тип данных требуется как объект. Класс Wrapper обеспечивает широкий диапазон функций, которые должны выполняться на примитивных типах.

Источник: http://net-informations.com/Java/basics/boxing.htm

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 3,00 из 5)
Adblock
detector