Автоматическая упаковка и распаковка Java

В этом руководстве мы узнаем об автоматической упаковке и распаковке Java с помощью примеров.

Java Autoboxing - примитивный тип для объекта-оболочки

При автобоксинге компилятор Java автоматически преобразует примитивные типы в соответствующие им объекты класса оболочки. Например,

 int a = 56; // autoboxing Integer aObj = a; 

Автобоксинг имеет большое преимущество при работе с коллекциями Java.

Пример 1: Java Autoboxing

 import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList list = new ArrayList(); //autoboxing list.add(5); list.add(6); System.out.println("ArrayList: " + list); ) ) 

Вывод

 ArrayList: (5, 6) 

В приведенном выше примере мы создали список массивов целочисленного типа. Следовательно, список массивов может содержать только объекты Integerтипа.

Обратите внимание на линию,

 list.add(5); 

Здесь мы передаем значение примитивного типа. Однако из-за автобокса примитивное значение автоматически преобразуется в Integerобъект и сохраняется в списке массивов.

Распаковка Java - объекты оболочки для примитивных типов

При распаковке компилятор Java автоматически преобразует объекты класса оболочки в соответствующие им примитивные типы. Например,

 // autoboxing Integer aObj = 56; // unboxing int a = aObj; 

Подобно автобоксу , распаковку также можно использовать с коллекциями Java.

Пример 2: Распаковка Java

 import java.util.ArrayList; class Main ( public static void main(String() args) ( ArrayList list = new ArrayList(); //autoboxing list.add(5); list.add(6); System.out.println("ArrayList: " + list); // unboxing int a = list.get(0); System.out.println("Value at index 0: " + a); ) ) 

Вывод

 ArrayList: (5, 6) Значение в индексе 0: 5 

В приведенном выше примере обратите внимание на строку

 int a = list.get(0); 

Здесь get()метод возвращает объект с индексом 0. Однако из-за распаковки объект автоматически преобразуется в примитивный тип intи присваивается переменной a.

Интересные статьи...