Сегодня мы продолжим раздел Java для начинающих статьей о классе Integer
— его особенностях и примере работы.
Описание класса Integer
Класс Integer
в Java относится к пакету java.lang
— это означает, что любой класс может свободно использовать методы в этом классе без импорта какого-либо пакета. Он неявно наследует класс Number
, который является подклассом Object
. Класс Number является абстрактным классом и является суперклассом для BigInteger
, BigDecimal
, и большинства классов оберток — Double, Integer, Short, Byte, Float
и Long
. Класс Number
реализует интерфейс Serializable
.
Особенности класса Integer
Класс Integer
является классом-оболочкой (подробнее о классах-оболочках). Его основная функция заключается, чтобы обернуть примитивный тип данных int
в объект. Объект Integer
имеет только одну переменную типа int
. Класс предоставляет ряд методов, которые могут быть полезны для работы с примитивом int
.
- Чаще всего используют методы преобразования класса Integer в строку и наоборот. Класс реализует два интерфейса:
Serializable
иComparable
<Integer>
. - Также Integer используется при работе с коллекциями, например, ArrayList или List. Начиная с версии Java 5 нам доступно использование классов-оберток, которое автоматически достигается с помощью концепции под названием Autoboxing (автоупаковка).
- Примитивный тип данных int хранит действительное двоичное значение целого числа. Максимальный объем данных, который может хранить int переменная составляет 4 байта данных — это означает, что значение может находиться в диапазоне от -2 147 483 648 до +2 147 483 647.
Также следует отметить, что Integer -это класс в Java и любая переменная с типом Integer хранит ссылку на объект Integer. Класс Integer в Java содержит различные статические методы для обработки своего содержимого. Поскольку методы являются статическими, то нам не нужен объект Integer, чтобы получить доступ к методам, например: в приведенных ниже примерах методы parseInt()
и toString()
вызываются напрямую.
Преобразование Integer в String
Давайте рассмотрим пример преобразования примитива int
в строку используя класс Integer
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
public class ConvertIntegerToString { public static void main(String[] args) { // объявляем примитив int с каким-то значением int x = 123; // оборачиваем int в объект Integer Integer y = new Integer(x); // преобразование Integer в строку String string = Integer.toString(y); System.out.println(string); } } |
Сначала идет оборачивание примитива в объект Integer и затем преобразование в строку. Код выше можно упростить, но нас интересует работа с Integer, поэтому может показаться, что пример «притянутый за уши».
Преобразование String в Integer
Также давайте рассмотрим пример конвертации строки в примитив int с помощью промежуточного объекта Integer:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
public class ConvertStringToInteger { public static void main(String[] args) { // объявляем строку с каким-то значением в виде строки String intString = "35684"; // конвертируем String объект в Integer Integer integer = Integer.parseInt(intString); // получаем примитив int x = integer.intValue(); System.out.print(x); } } |
Следует отметить, что при парсинге int значения со строки мы можем получить исключение NumberFormatException
. Такое может произойти в случае, если аргумент не является интерпретируемым целым числом, то есть не текстовым представлением целого значения. Ошибку мы получим, если вместо String intString = "35684"
передадим String intString = "35684й"
. В таких случаях обычно парсинг оборачивают в блок try-catch и при обработке исключения возвращают значение по умолчанию.
Важные моменты при работе с Integer
- Поле
MIN_VALUE
— это постоянная переменная, которая содержит минимальное значение, которое может иметь int (-231). - Поле
MAX_VALUE
— это константа, которая содержит максимальное значение примитива int: (231 — 1). - Класс
Class<Integer> TYPE
— это экземпляр класса, который представляет тип int. - Переменная
SIZE
— эта переменная содержит количество битов, которое представляет собой целое число в двоичной форме. - Получить
double
значение изInteger
можно вызовом методаdoubleValue()
. - Объекты
Integer
можно легко сравнивать с помощью методаequals()
.
Подписывайтесь на новые статьи и следите за обновлениями по разработке на Java.