Классы оболочки в Java
Данная статья:
- написана командой Vertex Academy. Надеемся, что она Вам будет полезна. Приятного прочтения!
- это одна из статей из нашего "Самоучителя по Java"
Что такое классы оболочки?
Раньше Вы знакомились с примитивными типами данных (такими, как int, short, boolean и т.д.):
Тем не менее, Вы знаете, что Java - объектно-ориентированный язык программирования. Это значит, что в ней "все, что можно, представлено в виде объектов".
Поэтому, у примитивных типов есть объекты-аналоги - так называемые "классы оболочки", или "wrapper" (с англ. "обертка, упаковка"):
Класс называется "оболочкой" потому, что он, по сути, копирует то, что уже существует, но добавляет новые возможности для работы с привычными типами.
О названиях
Имена классов нетрудно запомнить - они повторяют имена примитивных типов данных:
Обратите внимание - все классы оболочки пишутся с большой буквы:
Зачем так усложнять
Но зачем они нужны? Если есть обычный int, short, ..., зачем нам Short и Integer? Или, может, оставить только классы оболочки, и не пользоваться примитивами, раз у них функций больше?
Примитивы и их аналоги, классы оболочки, существуют параллельно, потому что у каждого есть преимущества.
Например, обычный int занимает меньше места, и если нет необходимости проводить над ним особые операции, Ваш компьютер будет работать быстрее.
В свою очередь, с помощью класса-оболочки Integer можно выполнять специальные операции - например, перевести текст в число (с помощью метода .parseInt() для Integer-а ). Если попробовать сделать это с помощью кода самому придется изрядно повозиться.
Integer и int можно сравнить с компьютером и записной книжкой:
Компьютер, безусловно, может больше, чем блокнот - но Вы не будете целый день носить с собой три килограмма для того, чтобы сделать несколько заметок?
Кроме того, есть ситуации, когда нельзя использовать объекты, или наоборот, когда можно использовать только объекты.
Метод .parseInt()
Иногда в объекте типа String содержится число, и Вам нужно с ним работать дальше - умножать, делить, в степень возводить. Но нельзя! Строка же. Что делать?
1 2 3 4 5 6 7 8 9 |
public class Test { public static void main(String[] args){ String a = "11"; int b = a; System.out.println(b); } } |
Нам видно, что 11 - это число, но выдает ошибку:
Можно исправить это с помощью .parseInt() (для int; для long будет .parseLong(), и так далее). Он объявляется так:
Название класса оболочки зависит от типа примитива, которому присваивается значение:
Пример:
1 2 3 4 5 6 7 8 9 |
public class Test { public static void main(String[] args){ String a = "11"; int b = Integer.parseInt(a); System.out.println(b); } } |
Теперь все работает и на экран выводится число 11:
Вот Вы и знаете, что такое классы оболочки и как их использовать!
Надеемся, что наша статья была Вам полезна. Также есть возможность записаться на наши курсы по Java в Киеве. Обучаем с нуля. Детальную информацию Вы можете найти у нас на сайте.