Руководство по классу Java Integer с примерами

Класс Integer является контейнером для типа данных int. Этот класс включает в себя методы преобразования значений из строки в объект Integer. Данное руководство содержит полную информацию о том, как использовать класс Integer в Java, его атрибуты и методы.

Синтаксис класса Integer

public final class Integer

 extends Number

 implements Comparable<Integer>

Совместимость с версиями JDK

Необходима JDK версии 1.0

Основы класса Integer

Поскольку класс Integer имеет широкую функциональность, мы решили разделить данное руководство на разделы.

Как создать экземпляр класса Integer

Есть два способа создать экземпляр класса Integer. Первый способ – использовать ключевое слово new:

Integer secondInteger = new Integer(100);

Второй способ создать — использовать функцию автоупаковки (autoboxing) языка Java, которая конвертирует примитивный тип данных в соответствующий класс-обёртку:

Integer sampleInteger = 100;

Тест на равенство объектов Integer

Объекты Integer являются обёрткой для примитивного типа int. Поскольку они являются объектами, то оператор == не будет работать. Рассмотрим приведенный ниже отрывок кода:

Integer firstInteger = 100;

 Integer secondInteger = new Integer(100);

 System.out.println(firstInteger==secondInteger);

Поскольку мы имеем дело с объектами Integer, оператор == больше не применим.  Как же провести сравнение двух Java объектов Integer? Рассмотрим приведенный ниже отрывок кода, демонстрирующий это:

Java-программа для проверки объектов Integer на равенство

package com.javatutorialhq.java.examples;
 
/*
 * Пример программы для проверки объектов Integer на равенство
 */
 
public class IntegerTestEquality {
 
            public static void main(String[] args) {
 
                        // создаём объекты Integer
                        Integer firstInteger = 100;
                        Integer secondInteger = new Integer(100);
 
                        // проверка на равенство
                        System.out.println(firstInteger.equals(secondInteger));
 
            }
 
}

Максимальное и минимальное значения Integer

Чтобы найти максимальное и минимальное значения Integer, мы обратимся к двум его полям. Максимальное значение объекта Integer (2147483647) может быть найдено с помощью вызова Integer.MAX_VALUE, а минимальное значение Integer (-2147483648) –  через обращение к Integer.MIN_VALUE.

Рассмотрим метод parseInt(String s), который принимает строку в качестве аргумента и конвертирует её в объект Integer. Если мы передадим строковое значение, которое имеет целочисленный эквивалент, превышающее максимальное значение в Integer.MAX_VALUE? Грубым примером такого сценария может служить приведенный ниже код:

Integer intValue = Integer.parseInt("2147483648");

Мы передали в метод parseInt аргумент, который на 1 больше максимального значения. Поэтому если мы попытаемся выполнить этот отрывок кода, компилятор выдаст исключение NumberFormatException:

Exception in thread "main" java.lang.NumberFormatException: For input string: "2147483648"
            at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
            at java.lang.Integer.parseInt(Integer.java:587)
            at java.lang.Integer.parseInt(Integer.java:615)
            at com.javatutorialhq.java.examples.IntegerTestEquality.main(IntegerTestEquality.java:12)

Как использовать статичные методы класса Integer

Большинство методов класса Integer статичные, поэтому имеет смысл разобраться, как получить доступ к ним. Не статичные методы используются так:

Integer intValue = Integer.parseInt("2147");
System.out.println(intValue.byteValue());

Статические методы не должны использоваться таким образом, а должны вызываться так как показано ниже:

System.out.println(Integer.max(1243, 1245));

Нестатические методы вызываются через переменная.метод. Статичные вызываются через Integer.метод(аргументы…).

Поля объекта Integer

Модификатор Тип Атрибут Описание
static Int MAX_VALUE Константа, являющаяся максимальным значением данных типа int, равная 2^31-1.
static Int MIN_VALUE Константа, являющаяся минимальным значением данных типа int, равная -2^31.
static Int SIZE Число битов, использованное для представления значения типа int в двоичной форме.
static Class<Integer> TYPE Экземпляр класса, представляющий примитивный тип int.

Конструктор класса Integer

Синтаксис Описание
Integer(int value) Создает новый объект Integer, который представляет указанное целочисленное значение.
Integer(String s) Это создает новый объект Integer, который представляет целочисленное значение, указанное строковым параметром конструктора.

Примеры использования методов класса Integer

Модификатор Возвращаемый тип Метод Описание
static Int bitCount(int i) Этот метод возвращает целочисленное значение, которое соответствует количеству единиц в двоичном представлении числа-аргумента метода.
byte byteValue() Возвращает значение объекта Integer в виде типа byte. Этот метод переопределяет метод byteValue() класса Number.
static Int compare(int x, int y) Метод просто возвращает целочисленное представление результата сравнения двух целочисленных аргументов.
Int compareTo(Integer anotherInteger) Возвращает целочисленное значение результата сравнения аргумента метода и объекта Integer.
static Integer decode(String nm) Возвращает декодированное значение строкового аргумента в объект Integer.
Double doubleValue() Возвращает эквивалент объекта Integer типа double (java double to integer). Метод doubleValue() унаследован из класса Number.
boolean equals(Object obj) Возвращает результат сравнения объекта Integer и объекта-аргумента типа Object.  Этот метод переопределяет метод equals класса Object.
Float floatValue() Возвращает эквивалент объекта Integer в типе float. Метод floatValue унаследован из класса Number.
static Integer getInteger(String nm) Возвращает значение свойства, указанного в качестве аргумента, в объекте Integer.
static Integer getInteger(String nm, int val) Определяет целочисленное значение свойства, указанного в строковом параметре. Если свойство не найдено, возвращает объект Integer со значением, указанным во втором параметре.
static Integer getInteger(String nm, Integer val) Возвращает целочисленное значение свойства, указанного в строковом параметре. Если свойство не найдено, возвращает объект Integer, указанный во втором параметре.
Int hashCode() Возвращает хэш-код объекта Integer.
static Int highestOneBit(int i) Определяет позицию старшего бита. Возвращает значение, в котором установлен только этот бит. Если ни один из битов не установлен, возвращает 0.
Int intValue() Возвращает целочисленный эквивалент объекта Integer. Метод унаследован из класса Number.
Long longValue() Возвращает значение объекта Integer как тип long.
static Int lowestOneBit(int i) Возвращает целое число, получающееся, если оставить только младшую (крайнюю правую) единицу в двоичном представлении числа-аргумента.
static Int numberOfLeadingZeros(int i) Возвращает количества нулей слева в двоичном представлении числа-аргумента.
static Int numberOfTrailingZeros(int i) Возвращает количества нулей справа в двоичном представлении числа-аргумента.
static Int parseInt(String s) Преобразует строку-аргумент в десятичное число со знаком.
static Int parseInt(String s, int radix) Преобразует строку-аргумент в целом число со знаком в системе исчисления, указанной во втором аргументе.
static Int reverse(int i) Возвращает число, получаемое в результате перестановки битов числа-аргумента в обратном порядке.
static Int reverseBytes(int i) Возвращает число, получаемое в результате перестановки байтов числа-аргумента в обратном порядке.
static Int rotateLeft(int i, int distance) Возвращает число, полученное в результате сдвига битов числа-аргумента на указанное количество позиций влево. (Биты, вышедшие за пределы слева, возвращаются в правую часть).
static Int rotateRight(int i, int distance) Возвращает число, полученное в результате сдвига битов числа-аргумента на указанное количество позиций вправо. (Биты, вышедшие за пределы справа, возвращаются в левую часть).
Short shortValue() Возвращает эквивалент объекта Integer в типе short. Этот метод переопределяет метод shortValue класса Number.
static int signum(int i) Возвращает результат функции signum  от указанного целого числа.
static String toBinaryString(int i) Возвращает строковый эквивалент двоичного представления числа-аргумента.
static String toHexString(int i) Возвращает строковое представление целочисленного аргумента в виде шестнадцатеричного числа без знака.
static String toOctalString(int i) Возвращает строковое представление целочисленного аргумента в виде восьмеричного числа без знака.
String toString() Возвращает объект String, представляющий значение объекта Integer.
static String toString(int i) Возвращает объект String, представляющий значение целочисленного аргумента.
static String toString(int i, int radix) Возвращает строковый эквивалент целого десятичного числа-аргумента в указанной системе исчисления.
static Integer valueOf(int i) Возвращает экземпляр объекта Integer, представляющий указанное целое число.
static Integer valueOf(String s) Возвращает экземпляр объекта Integer, содержащий значение, указанное в строке-аргументе.
static Integer valueOf(String s, int radix) Возвращает экземпляр объекта Integer, содержащий значение, передаваемое в строке-аргументе в системе исчисления, указанной во втором параметре.

Перевод статьи “Java Integer Class Tutorial and Example” был подготовлен дружной командой проекта Сайтостроение от А до Я.