Клас Java Wrapper (з прикладами)

У цьому посібнику ми дізнаємося про клас Java Wrapper за допомогою прикладів.

Класи - обгортки в Java використовуються для перетворення примітивних типів ( int, char, float, і т.д.) в відповідні об'єкти.

Кожен з 8 примітивних типів має відповідні класи обгортки.

Первісний тип Клас обгортки
byte Byte
boolean Boolean
char Character
double Double
float Float
int Integer
long Long
short Short

Перетворити примітивний тип на обгорткові об’єкти

Ми також можемо використовувати valueOf()метод для перетворення примітивних типів у відповідні об'єкти.

Приклад 1: Первісні типи для обгорткових об’єктів

 class Main ( public static void main(String() args) ( // create primitive types int a = 5; double b = 5.65; //converts into wrapper objects Integer aObj = Integer.valueOf(a); Double bObj = Double.valueOf(b); if(aObj instanceof Integer) ( System.out.println("An object of Integer is created."); ) if(bObj instanceof Double) ( System.out.println("An object of Double is created."); ) ) ) 

Вихідні дані

Створюється об'єкт Integer. Створюється об'єкт Double.

У наведеному вище прикладі ми використовували valueOf()метод для перетворення примітивних типів в об'єкти.

Тут ми використовували instanceofоператор, щоб перевірити, чи є генеровані об’єкти Integerчи Doubleтипу.

Однак компілятор Java може безпосередньо перетворювати примітивні типи у відповідні об'єкти. Наприклад,

 int a = 5; // converts into object Integer aObj = a; double b = 5.6; // converts into object Double bObj = b; 

Цей процес відомий як автобокс . Щоб дізнатись більше, відвідайте автопакування та розпакування Java.

Примітка : Ми також можемо перетворити примітивні типи в обгорткові об'єкти за допомогою Wrapperконструкторів класів. Але використання конструкторів відкидається після Java 9.

Обгорткові об'єкти на примітивні типи

Щоб перетворити об'єкти в примітивних типів, ми можемо використовувати відповідні методи значення ( intValue(), doubleValue()і т.д.) присутні в кожному класі обгортки.

Приклад 2: Обгорткові об’єкти у примітивні типи

 class Main ( public static void main(String() args) ( // creates objects of wrapper class Integer aObj = Integer.valueOf(23); Double bObj = Double.valueOf(5.55); // converts into primitive types int a = aObj.intValue(); double b = bObj.doubleValue(); System.out.println("The value of a: " + a); System.out.println("The value of b: " + b); ) ) 

Вихідні дані

 Значення a: 23 Значення b: 5,55 

У наведеному вище прикладі ми використовували метод intValue()and doubleValue()для перетворення об'єктів Integerand Doubleу відповідні примітивні типи.

Однак компілятор Java може автоматично перетворювати об'єкти у відповідні примітивні типи. Наприклад,

 Integer aObj = Integer.valueOf(2); // converts into int type int a = aObj; Double bObj = Double.valueOf(5.55); // converts into double type double b = bObj; 

Цей процес відомий як розпакування . Щоб дізнатись більше, відвідайте автопакування та розпакування Java.

Переваги класів обгортки

  • У Java іноді нам може знадобитися використовувати об'єкти замість примітивних типів даних. Наприклад, під час роботи з колекціями.
     // error ArrayList list = new ArrayList(); // runs perfectly ArrayList list = new ArrayList();
    У таких випадках класи обгортки допомагають нам використовувати примітивні типи даних як об’єкти.
  • Ми можемо зберігати нульове значення в об'єктах-обгортках. Наприклад,
      // generates an error int a = null; // runs perfectly Integer a = null; 

Примітка : Первісні типи ефективніші, ніж відповідні об'єкти. Отже, коли ефективність є вимогою, завжди рекомендуються примітивні типи.

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