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

Facebooktwittergoogle_plustumblrFacebooktwittergoogle_plustumblr

Данная статья:

  • написана командой Vertex Academy. Надеемся, что она Вам будет полезна. Приятного прочтения!
  • это одна из статей из нашего "Самоучителя по Java"

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

Раньше Вы знакомились с примитивными типами данных (такими, как int, short, boolean и т.д.):

Variables Java_Vertex Academy

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

Поэтому, у примитивных типов есть объекты-аналоги - так называемые "классы оболочки", или "wrapper" (с англ. "обертка, упаковка"):

wrap_1

Класс называется "оболочкой" потому, что он, по сути, копирует то, что уже существует, но добавляет новые возможности для работы с привычными типами.

О названиях

Имена классов нетрудно запомнить - они повторяют имена примитивных типов данных:

wrap_2

Обратите внимание - все классы оболочки пишутся с большой буквы:

wrap_3

Зачем так усложнять

Но зачем они нужны? Если есть обычный int, short, ..., зачем нам Short и Integer? Или, может, оставить только классы оболочки, и не пользоваться примитивами, раз у них функций больше?

i-in3cvejg-evan-dennis

Примитивы и их аналоги, классы оболочки, существуют параллельно, потому что у каждого есть преимущества.

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

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

Integer и int можно сравнить с компьютером и записной книжкой:

stocksnap_2ci87djpdzkopiya-stocksnap_0axtvi7jb2

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

Кроме того, есть ситуации, когда нельзя использовать объекты (например, массив может состоять только из примитивов), или наоборот, когда можно использовать только объекты.


Метод .parseInt()

Иногда в объекте типа String содержится число, и Вам нужно с ним работать дальше - умножать, делить, в степень возводить. Но нельзя! Строка же. Что делать?

Нам видно, что 11 - это число, но выдает ошибку:

 

snimok-ekrana-2016-12-01-v-03-00-40

Можно исправить это с помощью .parseInt() (для int; для long будет .parseLong(), и так далее). Он объявляется так:

wrap_5

Название класса оболочки зависит от типа примитива, которому присваивается значение:

wrap_6

Пример:

Теперь все работает и на экран выводится число 11:

snimok-ekrana-2016-12-01-v-03-08-19

Вот Вы и знаете, что такое классы оболочки и как их использовать!


Надеемся, что наша статья была Вам полезна. Также есть возможность записаться на наши курсы по Java в Киеве. Обучаем с нуля. Детальную информацию Вы можете найти у нас на сайте.

Facebooktwittergoogle_plustumblrFacebooktwittergoogle_plustumblr

Facebooktwittergoogle_plustumblrFacebooktwittergoogle_plustumblr