Автопакування та розпакування 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. Отже, список масивів може містити лише об’єкти 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.

Цікаві статті...