В данной статье мы рассмотрим классы-оболочки. Для чего они нужны? Вся проблема в том, что мы не можем создать коллекцию примитивных типов, поэтому для обхода этого ограничения и ввели классы-оболочки:
1
2
|
Map<int, double> map;//ошибка
Map<Integer,Double> map//правильно
|
Для каждого примитивного типа существует своя обертка, которая начинается с большой буквы: Byte, Short, Long, Float, Double, Char, Boolean и Integer. Каждый класс имеет простой конструктор, который принимает на вход значение базового типа:
1
2
3
|
Integer i = new Integer(100);
Character c = new Character('c');
Boolean b = new Boolean(true);
|
Кроме этого каждый класс — обертка умеет получать свой тип данных из строки, для этого используется метод pasre:
1
2
3
|
ИмяТипа.parseИмяТипа(string s);
Integer i = Integer.parseInt("123123");
Boolean b = Boolean.parseBoolean("true");
|
Работа с обертками происходит также как и с примитивными типами:
1
2
3
4
|
Integer i = Integer.parseInt("123123");
i++;
i = i * 8;
i-=10;
|
|