Класс Java Wrapper (с примерами)

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

Классы - обертки в Java используются для преобразования примитивных типов ( int, char, float, и т.д.) в соответствующие объекты.

Каждому из 8 примитивных типов соответствуют классы-оболочки.

Примитивный тип Класс Wrapper
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 autoboxing and unboxing.

Примечание . Мы также можем преобразовать примитивные типы в объекты-оболочки с помощью 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()и doubleValue()способ для преобразования Integerи 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 autoboxing and unboxing.

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

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

Примечание . Примитивные типы более эффективны, чем соответствующие объекты. Следовательно, когда требуется эффективность, всегда рекомендуются примитивные типы.

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