Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Понимание обёрточных классов Java: типы, преобразования и преимущества

Обёрточные классы в Java

В этом уроке мы изучим обёрточные классы Java на практических примерах.

Обёрточные классы преобразуют примитивные типы (int, char, float и др.) в соответствующие им объекты.

Каждому из восьми примитивных типов соответствует свой обёрточный класс.

Примитивный типОбёрточный класс
byteByte
booleanBoolean
charCharacter
doubleDouble
floatFloat
intInteger
longLong
shortShort

Преобразование примитивных типов в объекты-обёртки

Для явного преобразования примитива в объект-обёртку используется метод valueOf().

Пример 1: от примитивов к обёрткам

class Main {
    public static void main(String[] args) {
        int a = 5;
        double b = 5.65;
        Integer aObj = Integer.valueOf(a);
        Double bObj = Double.valueOf(b);
        if (aObj instanceof Integer) {
            System.out.println("Создан объект Integer.");
        }
        if (bObj instanceof Double) {
            System.out.println("Создан объект Double.");
        }
    }
}

Вывод:

Создан объект Integer. Создан объект Double.

Код выше демонстрирует явное преобразование через valueOf(). Java также поддерживает автоупаковку (autoboxing), когда примитивы неявно оборачиваются в объекты:

int a = 5;
Integer aObj = a;
double b = 5.6;
Double bObj = b;

Подробнее об автоупаковке и автораспаковке читайте в отдельной статье.

Примечание: До Java 9 объекты-обёртки можно было создавать через конструкторы (например, new Integer(a)), но этот подход устарел и не рекомендуется.


Преобразование объектов-обёрток в примитивные типы

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

Пример 2: от обёрток к примитивам

class Main {
    public static void main(String[] args) {
        Integer aObj = Integer.valueOf(23);
        Double bObj = Double.valueOf(5.55);
        int a = aObj.intValue();
        double b = bObj.doubleValue();
        System.out.println("Значение a: " + a);
        System.out.println("Значение b: " + b);
    }
}

Вывод:

Значение a: 23 Значение b: 5.55

Java также выполняет автораспаковку (unboxing) автоматически:

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

См. статью автоупаковка и автораспаковка для глубокого погружения.


Преимущества обёрточных классов

Примечание: Примитивные типы обычно эффективнее своих объектных аналогов; используйте примитивы, когда производительность критична.

java

  1. Ключевое слово final в Java: переменные, методы и классы
  2. Оператор instanceof в Java: полное руководство с примерами
  3. Статические вложенные классы в Java: использование, отличия и примеры
  4. Анонимные внутренние классы в Java: определение, синтаксис и практические примеры
  5. Паттерн Singleton в Java: как реализовать и безопасно использовать
  6. Рефлексия в Java: инспекция классов, методов и полей во время выполнения
  7. Освоение Java ObjectOutputStream: сериализация, методы и практические примеры
  8. Освоение Java Generics: создание переиспользуемого, типобезопасного кода
  9. Мастерство файловых операций в Java с java.io: создание, чтение, запись и удаление
  10. Понимание обёрточных классов Java: типы, преобразования и преимущества