Java Wrapper Classes

Оновлено: 22.05.2023

Класи обгортки Java

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

У таблиці нижче показано тип примітиву та еквівалентний йому клас обгортки:

Primitive Data Type Wrapper Class byte Byte short Short int Integer long Long float Float double Double boolean Boolean char Character

Іноді доводиться використовувати класи-обгортки, наприклад, при роботі з об'єктами Collection, такими як ArrayList, де не можна використовувати примітивні типи (список може лише зберігати об'єкти):

ArrayList<int> myNumbers = new ArrayList<int>(); // Invalid
ArrayList<Integer> myNumbers = new ArrayList<Integer>(); // Valid

Створення об'єктів-обгорток

Щоб створити об'єкт-обгортку, використовуйте клас обгортки замість примітивного типу. Щоб отримати значення, ви можете просто надрукувати об'єкт:

public class Main {
  public static void main(String[] args) {
    Integer myInt = 5;
    Double myDouble = 5.99;
    Character myChar = 'A';
    System.out.println(myInt);
    System.out.println(myDouble);
    System.out.println(myChar);
  }
}

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

Наприклад, для отримання значення, пов'язаного з відповідним об'єктом-обгорткою, використовуються такі методи: intValue(), byteValue(), shortValue(), longValue(), floatValue(), doubleValue(), charValue(), booleanValue().

Цей приклад виведе той самий результат, що і наведений вище:

public class Main {
  public static void main(String[] args) {
    Integer myInt = 5;
    Double myDouble = 5.99;
    Character myChar = 'A';
    System.out.println(myInt.intValue());
    System.out.println(myDouble.doubleValue());
    System.out.println(myChar.charValue());
  }
}

Ще одним корисним методом є метод toString(), який використовується для перетворення об'єктів обгортки у рядки.

У наступному прикладі ми перетворюємо ціле число в рядок і використовуємо метод length() класу String для виведення довжини "рядка":

public class Main {
  public static void main(String[] args) {
    Integer myInt = 100;
    String myString = myInt.toString();
    System.out.println(myString.length());
  }
}