Что такое классы оболочки java

Класс обертки На Java | Примеры Автоматической Упаковки И Распаковки

В этой статье рассматривается класс-оболочка в java с эквивалентными объектами класса-оболочки примитивных типов данных с примерами автоматической упаковки и распаковки.

Автор оригинала: Waseem.

Язык программирования Java является одним из самых популярных языков программирования в настоящее время. С такими понятиями, как переменные, типы данных, классы и объекты, возникает еще одна важная концепция класса-оболочки в java, которая необходима для синхронизации в многопоточности, структуре сбора и т.д. В этой статье мы обсудим необходимость класса-оболочки в java на различных примерах. Ниже приведены концепции, обсуждаемые в этом блоге:

Что Такое Класс Java – Оболочки?

Класс-оболочка предоставляет механизм преобразования примитивных типов данных в объекты класса-оболочки. Ниже приведены эквивалентные объекты класса-оболочки примитивных типов данных.

Ниже приведен пример, показывающий, как можно создать объект класса java-оболочки.

В приведенной выше программе мы использовали класс-оболочку вместо примитивных типов данных.

Ниже приведены методы получения соответствующего значения из объектов-оболочек.

Ниже приведен пример использования этих методов в программе:

Аналогичным образом вы можете использовать другие методы, такие как double Value (), shortValue (), longValue (), byte Value (), чтобы получить соответствующие значения объектов класса-оболочки.

Потребность В Классе Java-Оболочки

Автобокс

Автобокс-это автоматическое преобразование примитивных типов данных в объекты соответствующего класса-оболочки.

Распаковка

Это обратная сторона автобокса, когда объект класса-оболочки преобразуется в соответствующий примитивный тип данных.

В этой статье мы обсудили класс-оболочку в java, который помогает преобразовывать примитивные типы данных в соответствующие им объекты. Это помогает в синхронизации во время многопоточности, а также в различных других приложениях. Java – универсальный язык с множеством эффективных и революционных концепций.

У вас есть к нам вопрос? Пожалуйста, упомяните об этом в разделе комментариев статьи “Класс-оболочка в Java”, и мы свяжемся с вами как можно скорее.

Источник

Классы-оболочки в Java — руководство с примерами

Классы-оболочки Java являются Объектным представлением восьми примитивных типов в Java. Все классы-оболочки в Java являются неизменными и final. Начиная с Java 5 автоупаковка и распаковка позволяет легко конвертировать примитивные типы в их соответствующие классы-оболочки и наоборот.

В таблице ниже показаны примитивные типы и их классы-обертки в Java

Примитивный типКласс-оберткаАргументы
byteBytebyte или String
shortShortshort или String
intIntegerint или String
longLonglong или String
floatFloatfloat, double или String
doubleDoubledouble или String
charCharacterchar
booleanBooleanboolean или String

Зачем нужны классы-оболочки в Java?

Разработчиками языка Java было принято очень умное решение отделить примитивные типы и классы-оболочки, указав при этом следующее:

Еще одним важным моментом является то, что примитивные типы не могут быть null, а классы-оболочки — могут.

Также классы-оболочки могут быть использованы для достижения полиморфизма.

Вот простая программа, показывающая различные аспекты классов-оболочек в Java :

Источник

Классы-оболочки в Java

Взгляните на классы-оболочки в Java и на то, как работают примитивы бокса и распаковки.

1. Обзор

Как следует из названия, классы-оболочки – это объекты, инкапсулирующие примитивные типы Java.

Каждый примитив Java имеет соответствующую оболочку:

2. Классы обертки

Например, фреймворк коллекции Java работает исключительно с объектами. Давным-давно (до Java 5, почти 15 лет назад) не было автобоксов, и мы, например, не могли просто вызвать add(5) для набора целых чисел.

В то время эти примитивные значения должны были быть вручную преобразованы в соответствующие классы-оболочки и сохранены в коллекциях.

3. Преобразование примитива в класс-оболочку

Теперь большой вопрос: как мы преобразуем примитивное значение в соответствующий класс-оболочку, например, int в Целое число или char в Символ?

Ну, мы можем использовать либо конструкторские, либо статические фабричные методы для преобразования примитивного значения в объект класса-оболочки.

Однако начиная с Java 9 конструкторы для многих коробочных примитивов, таких как Integer | или Long , устарели.

Давайте рассмотрим пример преобразования значения int в объект Integer в Java:

С другой стороны, для преобразования объекта-оболочки в примитивное значение мы можем использовать соответствующий метод, такой как intValue(), doubleValue () |/и т. Д:

4. Автобокс и распаковка

В предыдущем разделе мы показали, как вручную преобразовать примитивное значение в объект.

После Java 5 это преобразование может быть выполнено автоматически с помощью функций, называемых автобоксом и распаковкой.

“Бокс” относится к преобразованию примитивного значения в соответствующий объект-оболочку. Поскольку это может произойти автоматически, это называется автобоксом.

Аналогично, когда объект-оболочка разворачивается в примитивное значение, это называется распаковкой.

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

Внутренне он использует метод valueOf() для облегчения преобразования. Например, следующие строки эквивалентны:

Подобно автобоксу, распаковка выполняется автоматически при передаче объекта методу, ожидающему примитив, или при назначении его переменной примитива:

В принципе, если мы напишем метод, который принимает примитивное значение или объект-оболочку, мы все равно сможем передать им оба значения. Java позаботится о передаче правильного типа, например, примитива или оболочки, в зависимости от контекста.

5. Заключение

В этом кратком руководстве мы говорили о классах-оболочках в Java, а также о механизме автобокса и распаковки.

Источник

Классы обертки в Java

Что такое классы оболочки java. Смотреть фото Что такое классы оболочки java. Смотреть картинку Что такое классы оболочки java. Картинка про Что такое классы оболочки java. Фото Что такое классы оболочки java

С классами обертками мы уже неявно познакомились, когда изучали коллекции. У многих мог возникнуть вопрос: зачем задавать целочисленную переменную не int, а Integer. Все дело в том, что коллекции это набор объектов и для того, чтобы оперировать примитивными типами как объектами и были придуманы классы обертки.

Стоить уточнить, что в данной статье будут рассмотрены только классы обертки для примитивных типов данных.

Данные классы имеют название от примитивного типа данных, который они представляют: Double, Float, Long, Integer, Short, Byte, Character, Boolean.

Что такое классы оболочки java. Смотреть фото Что такое классы оболочки java. Смотреть картинку Что такое классы оболочки java. Картинка про Что такое классы оболочки java. Фото Что такое классы оболочки java

Данные классы очень напоминают класс String. Объект обертку для примитивного типа можно создать как явно (используя конструктор), так и не явно (прямым присвоением примитива классу обертке) с помощью оператора»=» либо при передаче примитива в параметры метода (типа «класса-обертки»). Последнее еще называют автоупакова (autoboxing).

public class AutoBoxingExample <

public static void main ( String [ ] args ) <
Integer a = new Integer ( 5 ) ; //явное создание переменной обертки

int b = a ; //неявное создание.
>
>

Что такое классы оболочки java. Смотреть фото Что такое классы оболочки java. Смотреть картинку Что такое классы оболочки java. Картинка про Что такое классы оболочки java. Фото Что такое классы оболочки java

Автоупаковка переменных примитивных типов требует точного соответствия типа исходного примитива — типу «класса-обертки». Попытка автоупаковать переменную типа byte в Short, без предварительного явного приведения byte->short вызовет ошибку компиляции. О приведении типов мы уже писали.

public class AutoBoxingExample <

public static void main ( String [ ] args ) <
Integer a = new Integer ( 5 ) ;
Integer b = new Integer ( 5 ) ;
b = new Integer ( 3 ) ;

Integer c = new Integer ( 444 ) ;
Integer d = new Integer ( 444 ) ;
d = new Integer ( 456 ) ;

Результат работы программы:

Классы обертки удобны еще тем, что они предоставляют методы для работы с соответственными типами данных.

Давайте посмотрим на самые популярные:

public class AutoBoxingExample <

Хотелось бы еще рассмотреть создание Boolean переменной. Этот вопрос встречается достаточно часто в тестах:

public class BooleanExample <

public static void main ( String [ ] args ) <
Boolean b1 = new Boolean ( false ) ; //false
Boolean b2 = new Boolean ( «false» ) ; //false
Boolean b3 = new Boolean ( true ) ; //true
Boolean b4 = new Boolean ( «true» ) ; //true
Boolean b5 = new Boolean ( «hi there» ) ; //false

На самом деле методов очень много, но это самые популярные и самые используемые для меня.

Вот и все, что касается классов оберток для примитивных типов данных. Теперь Вы сможете оперировать примитивными типами, как объектами.

Источник

Урок 5. Классы обертки

Как мы говорили в предыдущем уроке, в Java для каждого примитивного типа существует соответствующий простой объект данных или, как говорится, класс оболочка.

Учитывая примитивный тип (все имена которого начинаются строго с первой строчной буквы), соответствующий объект данных получается, по существу, с заглавной буквы, как показано в следующей таблице:

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

Хотя на первый взгляд может показаться, что есть небольшая разница между примитивным типом и его «обернутым» аналогом (также часто называемым «упакованным в коробку»), между ними существует фундаментальное различие: примитивные типы не являются объектами и у них нет связанного с ними класса, и поэтому они должны обрабатываться иначе, чем другие типы (например, они не могут использоваться в коллекциях, которые будут предметом будущих уроков) и не могут иметь методов.

Чтобы избежать этого различия, Java делает готовые классы доступными для содержания и «оболочки» примитивных типов. Фактически, мы можем думать о классе-оболочке точно так же, как обертка, единственная цель которой — содержать примитивное значение, делая его, с одной стороны, объектом и «украсив» его методами, которые в противном случае не имели бы своего естественного местоположения.

Что такое классы оболочки java. Смотреть фото Что такое классы оболочки java. Смотреть картинку Что такое классы оболочки java. Картинка про Что такое классы оболочки java. Фото Что такое классы оболочки java

Зачем нужны классы-оболочки в Java?

Разработчиками языка Java было принято очень хорошее решение отделить примитивные типы и классы-оболочки, указав при этом следующее:

Еще одним важным моментом является то, что примитивные типы не могут быть null, а классы-оболочки — могут.

От простых типов к объектам данных

Хотя в Java 1.5 введена концепция «автоупаковка и распаковка», которую мы рассмотрим на конкретном уроке, переход от примитивного типа к его обернутой версии в принципе прост, но трудоемок.

Например, обычный int занимает меньше места, и если над ним не планируется проводить особые операции, ваш компьютер будет работать быстрее.

Специальные методы парсинга

Классы-оболочки — это также место в Java, где очень полезные методы используются для анализа строк и преобразования их в числовые значения, например:

Когда мы используем эти методы для преобразования, нам нужно обрабатывать любое генерирование ошибок. На самом деле не все возможные последовательности символов являются числами, возьмем, например, следующий фрагмент:

Парсер не сможет успешно обработать строку, и мы получим ошибку, о которой JVM сообщает с помощью исключения NumberFormatException (подробнее об этом позже).

Строка

Среди типов оболочки мы также можем включить тип String, который имеет много общих характеристик с простыми объектами данных (например, неизменяемость). Но, учитывая важность строк, мы отложим для них целый урок.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *