Руководство по классу 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

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

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

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

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

МодификаторВозвращаемый типМетодОписание
staticIntbitCount(int i)Этот метод возвращает целочисленное значение, которое соответствует количеству единиц в двоичном представлении числа-аргумента метода.
bytebyteValue()Возвращает значение объекта Integer в виде типа byte. Этот метод переопределяет метод byteValue() класса Number.
staticIntcompare(int x, int y)Метод просто возвращает целочисленное представление результата сравнения двух целочисленных аргументов.
IntcompareTo(Integer anotherInteger)Возвращает целочисленное значение результата сравнения аргумента метода и объекта Integer.
staticIntegerdecode(String nm)Возвращает декодированное значение строкового аргумента в объект Integer.
DoubledoubleValue()Возвращает эквивалент объекта Integer типа double (java double to integer). Метод doubleValue() унаследован из класса Number.
booleanequals(Object obj)Возвращает результат сравнения объекта Integer и объекта-аргумента типа Object. Этот метод переопределяет метод equals класса Object.
FloatfloatValue()Возвращает эквивалент объекта Integer в типе float. Метод floatValue унаследован из класса Number.
staticIntegergetInteger(String nm)Возвращает значение свойства, указанного в качестве аргумента, в объекте Integer.
staticIntegergetInteger(String nm, int val)Определяет целочисленное значение свойства, указанного в строковом параметре. Если свойство не найдено, возвращает объект Integer со значением, указанным во втором параметре.
staticIntegergetInteger(String nm, Integer val)Возвращает целочисленное значение свойства, указанного в строковом параметре. Если свойство не найдено, возвращает объект Integer, указанный во втором параметре.
InthashCode()Возвращает хэш-код объекта Integer.
staticInthighestOneBit(int i)Определяет позицию старшего бита. Возвращает значение, в котором установлен только этот бит. Если ни один из битов не установлен, возвращает 0.
IntintValue()Возвращает целочисленный эквивалент объекта Integer. Метод унаследован из класса Number.
LonglongValue()Возвращает значение объекта Integer как тип long.
staticIntlowestOneBit(int i)Возвращает целое число, получающееся, если оставить только младшую (крайнюю правую) единицу в двоичном представлении числа-аргумента.
staticIntnumberOfLeadingZeros(int i)Возвращает количества нулей слева в двоичном представлении числа-аргумента.
staticIntnumberOfTrailingZeros(int i)Возвращает количества нулей справа в двоичном представлении числа-аргумента.
staticIntparseInt(String s)Преобразует строку-аргумент в десятичное число со знаком.
staticIntparseInt(String s, int radix)Преобразует строку-аргумент в целом число со знаком в системе исчисления, указанной во втором аргументе.
staticIntreverse(int i)Возвращает число, получаемое в результате перестановки битов числа-аргумента в обратном порядке.
staticIntreverseBytes(int i)Возвращает число, получаемое в результате перестановки байтов числа-аргумента в обратном порядке.
staticIntrotateLeft(int i, int distance)Возвращает число, полученное в результате сдвига битов числа-аргумента на указанное количество позиций влево. (Биты, вышедшие за пределы слева, возвращаются в правую часть).
staticIntrotateRight(int i, int distance)Возвращает число, полученное в результате сдвига битов числа-аргумента на указанное количество позиций вправо. (Биты, вышедшие за пределы справа, возвращаются в левую часть).
ShortshortValue()Возвращает эквивалент объекта Integer в типе short. Этот метод переопределяет метод shortValue класса Number.
staticintsignum(int i)Возвращает результат функции signum от указанного целого числа.
staticStringtoBinaryString(int i)Возвращает строковый эквивалент двоичного представления числа-аргумента.
staticStringtoHexString(int i)Возвращает строковое представление целочисленного аргумента в виде шестнадцатеричного числа без знака.
staticStringtoOctalString(int i)Возвращает строковое представление целочисленного аргумента в виде восьмеричного числа без знака.
StringtoString()Возвращает объект String, представляющий значение объекта Integer.
staticStringtoString(int i)Возвращает объект String, представляющий значение целочисленного аргумента.
staticStringtoString(int i, int radix)Возвращает строковый эквивалент целого десятичного числа-аргумента в указанной системе исчисления.
staticIntegervalueOf(int i)Возвращает экземпляр объекта Integer, представляющий указанное целое число.
staticIntegervalueOf(String s)Возвращает экземпляр объекта Integer, содержащий значение, указанное в строке-аргументе.
staticIntegervalueOf(String s, int radix)Возвращает экземпляр объекта Integer, содержащий значение, передаваемое в строке-аргументе в системе исчисления, указанной во втором параметре.

Сергей Бензенкоавтор-переводчик статьи «Java Integer Class Tutorial and Example»