РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
138 of 1163 menu

Автоупаковка

Автоупаковка (autoboxing) - это автоматическое преобразование примитивного значения в объект соответствующего класса-обертки. Компилятор Java выполняет эту операцию самостоятельно, когда примитив нужно использовать там, где ожидается объект. Например, примитив типа int упаковывается в объект класса Integer, double - в Double, boolean - в Boolean и так далее. Обратный процесс называется распаковкой.

Автоупаковка применяется в двух основных случаях: при присваивании примитива переменной типа-обертки и при передаче примитива в метод, параметр которого имеет тип-обертку.

Синтаксис

Integer obj = 123; Double obj = 1.5; Boolean obj = true;

Здесь в первый параметр (левую часть) мы передаем переменную класса-обертки, а во второй (правую часть) - примитивное значение, которое автоматически упаковывается в объект.

Пример

Давайте упакуем примитивное число в объект класса Integer и выведем его на экран:

public class Main { public static void main(String[] args) { Integer num = 123; System.out.println(num); } }

Результат выполнения кода:

123

Пример

Давайте передадим примитив в метод, который принимает объект класса-обертки:

public class Main { public static void print(Integer num) { System.out.println(num); } public static void main(String[] args) { print(123); } }

Результат выполнения кода:

123

Пример

Давайте добавим примитивы в коллекцию, которая хранит только объекты. Компилятор автоматически упакует каждое значение:

import java.util.List; import java.util.ArrayList; public class Main { public static void main(String[] args) { List<Integer> res = new ArrayList<>(); res.add(1); res.add(2); res.add(3); System.out.println(res); } }

Результат выполнения кода:

[1, 2, 3]

Смотрите также

  • операция unboxing,
    которая выполняет обратное преобразование
  • операция cast,
    которая выполняет явное приведение типов
  • класс Number,
    который является родителем классов-оберток
  • класс Character,
    который является оберткой для типа char
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить