Spec-Zone.ru › OpenJDK 25

Класс Integer

java.lang.Object
java.lang.Number
java.lang.Integer
Все реализуемые интерфейсы:
Serializable, Comparable<Integer>, Constable, ConstantDesc
public final class Integer extends Number implements Comparable<Integer>, Constable, ConstantDesc
Класс Integer является классом-оболочкой для значений примитивного типа int. Объект типа Integer содержит одно поле типа int.

Кроме того, этот класс предоставляет несколько методов для преобразования int в String и String в int, а также другие константы и методы, полезные при работе с int.

Это класс, основанный на значениях; программистам следует считать экземпляры, которые равны, взаимозаменяемыми и не использовать экземпляры для синхронизации, иначе может возникнуть непредсказуемое поведение. Например, в будущем выпуске синхронизация может завершиться неудачей.

Примечание по реализации: реализации методов для «манипуляций с битами» (таких как highestOneBit и numberOfTrailingZeros) основаны на материалах из книг Генри С. Уоррена-младшего Hacker's Delight (Addison Wesley, 2002) и Hacker's Delight, Second Edition (Pearson Education, 2013).

Начиная с:
1.0
См. также:
  • Сериализованное представление

Краткое описание полей

Модификатор и тип Поле Описание
static final int BYTES
Количество байтов, используемых для представления значения int в двоичной форме с дополнительным кодом.
static final int MAX_VALUE
Константа, содержащая максимальное значение типа int: 231-1.
static final int MIN_VALUE
Константа, содержащая минимальное значение типа int: -231.
static final int SIZE
Количество битов, используемых для представления значения int в двоичной форме с дополнительным кодом.
static final Class<Integer> TYPE
Экземпляр Class, представляющий примитивный тип int.

Краткое описание конструкторов

Конструктор Описание
Integer(int value)
Устарел.
Использовать этот конструктор обычно нецелесообразно.
Integer(String s)
Устарел.
Использовать этот конструктор обычно нецелесообразно.

Краткое описание методов

Модификатор и тип Метод Описание
static int bitCount(int i)
Возвращает количество единичных битов в двоичном представлении указанного значения int с дополнительным кодом.
byte byteValue()
Возвращает значение этого Integer как byte после сужающего преобразования примитивного типа.
static int compare(int x, int y)
Сравнивает два значения int численно.
int compareTo(Integer anotherInteger)
Сравнивает два объекта Integer численно.
static int compareUnsigned(int x, int y)
Сравнивает два значения int численно, рассматривая их как беззнаковые.
static int compress(int i, int mask)
Возвращает значение, полученное сжатием битов указанного значения int, i, в соответствии с заданной битовой маской.
static Integer decode(String nm)
Декодирует String в Integer.
Optional<Integer> describeConstable()
Возвращает Optional, содержащий номинальный дескриптор этого экземпляра, которым является сам экземпляр.
static int divideUnsigned(int dividend, int divisor)
Возвращает беззнаковое частное от деления первого аргумента на второй, рассматривая каждый аргумент и результат как беззнаковое значение.
double doubleValue()
Возвращает значение этого Integer как double после расширяющего преобразования примитивного типа.
boolean equals(Object obj)
Сравнивает этот объект с указанным объектом.
static int expand(int i, int mask)
Возвращает значение, полученное расширением битов указанного значения int, i, в соответствии с заданной битовой маской.
float floatValue()
Возвращает значение этого Integer как float после расширяющего преобразования примитивного типа.
static Integer getInteger(String nm)
Определяет целочисленное значение системного свойства с указанным именем.
static Integer getInteger(String nm, int val)
Определяет целочисленное значение системного свойства с указанным именем.
static Integer getInteger(String nm, Integer val)
Возвращает целочисленное значение системного свойства с указанным именем.
int hashCode()
Возвращает хеш-код этого Integer.
static int hashCode(int value)
Возвращает хеш-код значения int; совместим с Integer.hashCode().
static int highestOneBit(int i)
Возвращает значение int, содержащее не более одного единичного бита, расположенного на месте старшего («самого левого») единичного бита в указанном значении int.
int intValue()
Возвращает значение этого Integer как int.
long longValue()
Возвращает значение этого Integer как long после расширяющего преобразования примитивного типа.
static int lowestOneBit(int i)
Возвращает значение int, содержащее не более одного единичного бита, расположенного на месте младшего («самого правого») единичного бита в указанном значении int.
static int max(int a, int b)
Возвращает большее из двух значений int, как если бы был вызван метод Math.max.
static int min(int a, int b)
Возвращает меньшее из двух значений int, как если бы был вызван метод Math.min.
static int numberOfLeadingZeros(int i)
Возвращает количество нулевых битов перед старшим («самым левым») единичным битом в двоичном представлении указанного значения int с дополнительным кодом.
static int numberOfTrailingZeros(int i)
Возвращает количество нулевых битов после младшего («самого правого») единичного бита в двоичном представлении указанного значения int с дополнительным кодом.
static int parseInt(CharSequence s, int beginIndex, int endIndex, int radix)
Разбирает аргумент CharSequence как знаковое значение int в указанной radix, начиная с указанной beginIndex и заканчивая endIndex - 1.
static int parseInt(String s)
Разбирает строковый аргумент как знаковое десятичное целое число.
static int parseInt(String s, int radix)
Разбирает строковый аргумент как знаковое целое число в системе счисления с основанием, указанным вторым аргументом.
static int parseUnsignedInt(CharSequence s, int beginIndex, int endIndex, int radix)
Разбирает аргумент CharSequence как беззнаковое значение int в указанной radix, начиная с указанной beginIndex и заканчивая endIndex - 1.
static int parseUnsignedInt(String s)
Разбирает строковый аргумент как беззнаковое десятичное целое число.
static int parseUnsignedInt(String s, int radix)
Разбирает строковый аргумент как беззнаковое целое число в системе счисления с основанием, указанным вторым аргументом.
static int remainderUnsigned(int dividend, int divisor)
Возвращает беззнаковый остаток от деления первого аргумента на второй, рассматривая каждый аргумент и результат как беззнаковое значение.
Integer resolveConstantDesc(MethodHandles.Lookup lookup)
Преобразует этот экземпляр в ConstantDesc; результатом является сам экземпляр.
static int reverse(int i)
Возвращает значение, полученное обращением порядка битов в двоичном представлении указанного значения int с дополнительным кодом.
static int reverseBytes(int i)
Возвращает значение, полученное обращением порядка байтов в представлении указанного значения int с дополнительным кодом.
static int rotateLeft(int i, int distance)
Возвращает значение, полученное циклическим сдвигом влево двоичного представления указанного значения int с дополнительным кодом на указанное количество битов.
static int rotateRight(int i, int distance)
Возвращает значение, полученное циклическим сдвигом вправо двоичного представления указанного значения int с дополнительным кодом на указанное количество битов.
short shortValue()
Возвращает значение этого Integer как short после сужающего преобразования примитивного типа.
static int signum(int i)
Возвращает функцию знака указанного значения int.
static int sum(int a, int b)
Складывает два целых числа, как это делает оператор +.
static String toBinaryString(int i)
Возвращает строковое представление аргумента integer как беззнакового целого числа в системе счисления с основанием 2.
static String toHexString(int i)
Возвращает строковое представление аргумента integer как беззнакового целого числа в системе счисления с основанием 16.
static String toOctalString(int i)
Возвращает строковое представление аргумента integer как беззнакового целого числа в системе счисления с основанием 8.
String toString()
Возвращает объект String, представляющий значение этого Integer.
static String toString(int i)
Возвращает объект String, представляющий указанное целое число.
static String toString(int i, int radix)
Возвращает строковое представление первого аргумента в системе счисления с основанием, указанным вторым аргументом.
static long toUnsignedLong(int x)
Преобразует аргумент в long посредством беззнакового преобразования.
static String toUnsignedString(int i)
Возвращает строковое представление аргумента как беззнакового десятичного значения.
static String toUnsignedString(int i, int radix)
Возвращает строковое представление первого аргумента как беззнакового целого числа в системе счисления с основанием, указанным вторым аргументом.
static Integer valueOf(int i)
Возвращает экземпляр Integer, представляющий указанное значение int.
static Integer valueOf(String s)
Возвращает объект Integer, содержащий значение указанного String.
static Integer valueOf(String s, int radix)
Возвращает объект Integer, содержащий значение, извлеченное из указанного String при разборе с основанием системы счисления, заданным вторым аргументом.

Методы, объявленные в классе Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание полей

MIN_VALUE

@Native public static final int MIN_VALUE
Константа, содержащая минимальное значение, которое может иметь int: -231.
См. также:
  • Значения констант полей

MAX_VALUE

@Native public static final int MAX_VALUE
Константа, содержащая максимальное значение, которое может иметь int: 231-1.
См. также:
  • Значения констант полей

TYPE

public static final Class<Integer> TYPE
Экземпляр Class, представляющий примитивный тип int.
Начиная с:
1.1

SIZE

@Native public static final int SIZE
Количество битов, используемых для представления значения int в двоичной форме с дополнением до двух.
Начиная с:
1.5
См. также:
  • Значения констант полей

BYTES

public static final int BYTES
Количество байтов, используемых для представления значения int в двоичной форме с дополнением до двух.
Начиная с:
1.8
См. также:
  • Значения констант полей

Подробное описание конструкторов

Integer

@Deprecated(since="9") public Integer(int value)
Устарел.
Использовать этот конструктор обычно нецелесообразно. Как правило, предпочтительнее статическая фабрика valueOf(int), поскольку она, вероятно, обеспечивает значительно более эффективное использование памяти и времени.
Создает вновь выделенный объект Integer, представляющий указанное значение int.
Параметры:
value — значение, которое будет представлено объектом Integer.

Integer

@Deprecated(since="9") public Integer(String s) throws NumberFormatException
Устарел.
Использовать этот конструктор обычно нецелесообразно. Для преобразования строки в примитив int используйте parseInt(String), а для преобразования строки в объект Integer используйте valueOf(String).
Создает вновь выделенный объект Integer, представляющий значение int, указанное параметром String. Строка преобразуется в значение int точно так же, как это делает метод parseInt с основанием системы счисления 10.
Параметры:
s — String, которое нужно преобразовать в Integer.
Выбрасывает:
NumberFormatException — если String не содержит целое число, которое можно разобрать.

Подробное описание методов

toString

public static String toString(int i, int radix)
Возвращает строковое представление первого аргумента в системе счисления с основанием, указанным вторым аргументом.

Если основание меньше Character.MIN_RADIX или больше Character.MAX_RADIX, вместо него используется основание 10.

Если первый аргумент отрицательный, первым символом результата будет знак минуса ASCII '-' ('\u002D'). Если первый аргумент неотрицательный, знак в результате отсутствует.

Остальные символы результата представляют модуль первого аргумента. Если модуль равен нулю, он представляется одним символом нуля '0' ('\u0030'); в противном случае первым символом представления модуля будет не ноль. В качестве цифр используются следующие символы ASCII:

0123456789abcdefghijklmnopqrstuvwxyz
Это символы от '\u0030' до '\u0039' и от '\u0061' до '\u007A'. Если radix равно N, то первые N из этих символов используются в качестве цифр системы счисления с основанием N в указанном порядке. Таким образом, цифрами шестнадцатеричной системы счисления (с основанием 16) являются 0123456789abcdef. Если требуются заглавные буквы, к результату можно применить метод String.toUpperCase():
Integer.toString(n, 16).toUpperCase()
Параметры:
i — целое число, которое нужно преобразовать в строку.
radix — основание системы счисления для строкового представления.
Возвращает:
строковое представление аргумента в указанной системе счисления.
См. также:
  • Character.MAX_RADIX
  • Character.MIN_RADIX

toUnsignedString

public static String toUnsignedString(int i, int radix)
Возвращает строковое представление первого аргумента как беззнакового целого числа в системе счисления с основанием, указанным вторым аргументом.

Если основание меньше Character.MIN_RADIX или больше Character.MAX_RADIX, вместо него используется основание 10.

Обратите внимание: поскольку первый аргумент рассматривается как беззнаковое значение, начальный знак не выводится.

Если модуль равен нулю, он представляется одним символом нуля '0' ('\u0030'); в противном случае первым символом представления модуля будет не ноль.

Для систем счисления с различными основаниями и символов, используемых в качестве цифр, действуют те же правила, что и для toString.

Параметры:
i — целое число, которое нужно преобразовать в беззнаковую строку.
radix — основание системы счисления для строкового представления.
Возвращает:
беззнаковое строковое представление аргумента в указанной системе счисления.
Начиная с:
1.8
См. также:
  • toString(int, int)

toHexString

public static String toHexString(int i)
Возвращает строковое представление целочисленного аргумента как беззнакового целого числа в системе счисления с основанием 16.

Беззнаковое целочисленное значение равно аргументу плюс 232, если аргумент отрицательный; в противном случае оно равно аргументу. Это значение преобразуется в строку из цифр ASCII в шестнадцатеричной системе счисления (с основанием 16) без лишних начальных 0.

Значение аргумента можно восстановить из возвращенной строки s, вызвав Integer.parseUnsignedInt(s, 16).

Если беззнаковый модуль равен нулю, он представляется одним символом нуля '0' ('\u0030'); в противном случае первым символом представления беззнакового модуля будет не ноль. В качестве шестнадцатеричных цифр используются следующие символы:

0123456789abcdef
Это символы от '\u0030' до '\u0039' и от '\u0061' до '\u0066'. Если требуются заглавные буквы, к результату можно применить метод String.toUpperCase():
Integer.toHexString(n).toUpperCase()
Примечание к API:
Класс HexFormat предоставляет средства форматирования и разбора массивов байтов и примитивных значений, позволяющие получить строку или добавить результат в Appendable. HexFormat форматирует и разбирает шестнадцатеричные символы в верхнем или нижнем регистре, добавляет начальные нули, а для массивов байтов включает разделитель, префикс и суффикс для каждого байта.
Параметры:
i — целое число, которое нужно преобразовать в строку.
Возвращает:
строковое представление беззнакового целочисленного значения, представленного аргументом, в шестнадцатеричной системе счисления (с основанием 16).
Начиная с:
1.0.2
См. также:
  • HexFormat
  • parseUnsignedInt(String, int)
  • toUnsignedString(int, int)

toOctalString

public static String toOctalString(int i)
Возвращает строковое представление целочисленного аргумента как беззнакового целого числа в системе счисления с основанием 8.

Беззнаковое целочисленное значение равно аргументу плюс 232, если аргумент отрицательный; в противном случае оно равно аргументу. Это значение преобразуется в строку из цифр ASCII в восьмеричной системе счисления (с основанием 8) без лишних начальных 0.

Значение аргумента можно восстановить из возвращенной строки s, вызвав Integer.parseUnsignedInt(s, 8).

Если беззнаковый модуль равен нулю, он представляется одним символом нуля '0' ('\u0030'); в противном случае первым символом представления беззнакового модуля будет не ноль. В качестве восьмеричных цифр используются следующие символы:

01234567
Это символы от '\u0030' до '\u0037'.
Параметры:
i — целое число, которое нужно преобразовать в строку.
Возвращает:
строковое представление беззнакового целочисленного значения, представленного аргументом, в восьмеричной системе счисления (с основанием 8).
Начиная с:
1.0.2
См. также:
  • parseUnsignedInt(String, int)
  • toUnsignedString(int, int)

toBinaryString

public static String toBinaryString(int i)
Возвращает строковое представление целочисленного аргумента как беззнакового целого числа в системе счисления с основанием 2.

Беззнаковое целочисленное значение равно аргументу плюс 232, если аргумент отрицательный; в противном случае оно равно аргументу. Это значение преобразуется в строку из цифр ASCII в двоичной системе счисления (с основанием 2) без лишних начальных 0.

Значение аргумента можно восстановить из возвращенной строки s, вызвав Integer.parseUnsignedInt(s, 2).

Если беззнаковый модуль равен нулю, он представляется одним символом нуля '0' ('\u0030'); в противном случае первым символом представления беззнакового модуля будет не ноль. В качестве двоичных цифр используются символы '0' ('\u0030') и '1' ('\u0031').

Параметры:
i — целое число, которое нужно преобразовать в строку.
Возвращает:
строковое представление беззнакового целочисленного значения, представленного аргументом, в двоичной системе счисления (с основанием 2).
Начиная с:
1.0.2
См. также:
  • parseUnsignedInt(String, int)
  • toUnsignedString(int, int)

toString

public static String toString(int i)
Возвращает объект String, представляющий указанное целое число. Аргумент преобразуется в знаковое десятичное представление и возвращается в виде строки — точно так же, как если бы аргумент и основание системы счисления 10 были переданы в качестве аргументов методу toString(int, int).
Параметры:
i — целое число, которое нужно преобразовать.
Возвращает:
строковое представление аргумента в десятичной системе счисления.

toUnsignedString

public static String toUnsignedString(int i)
Возвращает строковое представление аргумента как беззнакового десятичного значения. Аргумент преобразуется в беззнаковое десятичное представление и возвращается в виде строки — точно так же, как если бы аргумент и основание системы счисления 10 были переданы в качестве аргументов методу toUnsignedString(int, int).
Параметры:
i — целое число, которое нужно преобразовать в беззнаковую строку.
Возвращает:
беззнаковое строковое представление аргумента.
Начиная с:
1.8
См. также:
  • toUnsignedString(int, int)

parseInt

public static int parseInt(String s, int radix) throws NumberFormatException
Разбирает строковый аргумент как знаковое целое число в системе счисления с основанием, указанным вторым аргументом. Все символы строки должны быть цифрами указанной системы счисления (определяется по тому, возвращает ли Character.digit(char, int) неотрицательное значение), однако первым символом может быть знак минуса ASCII '-' ('\u002D'), обозначающий отрицательное значение, или знак плюса ASCII '+' ('\u002B'), обозначающий положительное значение. Возвращается полученное целочисленное значение.

Исключение типа NumberFormatException выбрасывается в любой из следующих ситуаций:

  • Первый аргумент равен null или является строкой нулевой длины.
  • Основание меньше Character.MIN_RADIX или больше Character.MAX_RADIX.
  • Какой-либо символ строки не является цифрой указанной системы счисления; при этом первым символом может быть знак минуса '-' ('\u002D') или знак плюса '+' ('\u002B'), если длина строки больше 1.
  • Значение, представленное строкой, не относится к типу int.

Примеры:

parseInt("0", 10) returns 0
parseInt("473", 10) returns 473
parseInt("+42", 10) returns 42
parseInt("-0", 10) returns 0
parseInt("-FF", 16) returns -255
parseInt("1100110", 2) returns 102
parseInt("2147483647", 10) returns 2147483647
parseInt("-2147483648", 10) returns -2147483648
parseInt("2147483648", 10) throws a NumberFormatException
parseInt("99", 8) throws a NumberFormatException
parseInt("Kona", 10) throws a NumberFormatException
parseInt("Kona", 27) returns 411787
Параметры:
s — String, содержащая представление целого числа, которое нужно разобрать
radix — основание системы счисления, используемое при разборе s.
Возвращает:
целое число, представленное строковым аргументом в указанной системе счисления.
Выбрасывает:
NumberFormatException — если String не содержит int, которое можно разобрать.

parseInt

public static int parseInt(CharSequence s, int beginIndex, int endIndex, int radix) throws NumberFormatException
Разбирает аргумент CharSequence как знаковое int в указанной radix, начиная с заданного beginIndex и заканчивая endIndex - 1.

Метод не предпринимает попыток защититься от изменения CharSequence во время разбора.

Параметры:
s — CharSequence, содержащий представление int для разбора
beginIndex — начальный индекс включительно.
endIndex — конечный индекс исключительно.
radix — основание системы счисления, используемое при разборе s.
Возвращает:
знаковое int, представленное подпоследовательностью в указанной системе счисления.
Выбрасывает:
NullPointerException — если s равно null.
IndexOutOfBoundsException — если beginIndex отрицателен, если beginIndex больше endIndex или если endIndex больше s.length().
NumberFormatException — если CharSequence не содержит разбираемое int в указанной radix или если radix меньше Character.MIN_RADIX либо больше Character.MAX_RADIX.
Начиная с:
9

parseInt

public static int parseInt(String s) throws NumberFormatException
Разбирает строковый аргумент как знаковое десятичное целое число. Все символы строки должны быть десятичными цифрами, однако первым символом может быть знак минуса ASCII '-' ('\u002D'), обозначающий отрицательное значение, или знак плюса ASCII '+' ('\u002B'), обозначающий положительное значение. Полученное целочисленное значение возвращается точно так же, как если бы аргумент и основание 10 были переданы в качестве аргументов методу parseInt(java.lang.String, int).
Параметры:
s — String, содержащее представление int для разбора
Возвращает:
целочисленное значение, представленное аргументом в десятичной системе счисления.
Выбрасывает:
NumberFormatException — если строка не содержит целое число, которое можно разобрать.

parseUnsignedInt

public static int parseUnsignedInt(String s, int radix) throws NumberFormatException
Разбирает строковый аргумент как беззнаковое целое число в системе счисления с основанием, указанным вторым аргументом. Беззнаковое целое число отображает значения, обычно соответствующие отрицательным числам, в положительные числа, превышающие MAX_VALUE. Все символы строки должны быть цифрами указанной системы счисления (определяется по тому, возвращает ли Character.digit(char, int) неотрицательное значение), однако первым символом может быть знак плюса ASCII '+' ('\u002B'). Возвращается полученное целочисленное значение.

Исключение типа NumberFormatException выбрасывается в любой из следующих ситуаций:

  • Первый аргумент равен null или является строкой нулевой длины.
  • Основание меньше Character.MIN_RADIX или больше Character.MAX_RADIX.
  • Какой-либо символ строки не является цифрой указанной системы счисления; при этом первым символом может быть знак плюса '+' ('\u002B'), если длина строки больше 1.
  • Значение, представленное строкой, больше наибольшего беззнакового int: 232-1.
Параметры:
s — String, содержащее беззнаковое представление целого числа для разбора
radix — основание системы счисления, используемое при разборе s.
Возвращает:
целое число, представленное строковым аргументом в указанной системе счисления.
Выбрасывает:
NumberFormatException — если String не содержит int, которое можно разобрать.
Начиная с:
1.8

parseUnsignedInt

public static int parseUnsignedInt(CharSequence s, int beginIndex, int endIndex, int radix) throws NumberFormatException
Разбирает аргумент CharSequence как беззнаковое int в указанной radix, начиная с заданного beginIndex и заканчивая endIndex - 1.

Метод не предпринимает попыток защититься от изменения CharSequence во время разбора.

Параметры:
s — CharSequence, содержащий беззнаковое представление int для разбора
beginIndex — начальный индекс включительно.
endIndex — конечный индекс исключительно.
radix — основание системы счисления, используемое при разборе s.
Возвращает:
беззнаковое int, представленное подпоследовательностью в указанной системе счисления.
Выбрасывает:
NullPointerException — если s равно null.
IndexOutOfBoundsException — если beginIndex отрицателен, если beginIndex больше endIndex или если endIndex больше s.length().
NumberFormatException — если CharSequence не содержит разбираемое беззнаковое int в указанной radix или если radix меньше Character.MIN_RADIX либо больше Character.MAX_RADIX.
Начиная с:
9

parseUnsignedInt

public static int parseUnsignedInt(String s) throws NumberFormatException
Разбирает строковый аргумент как беззнаковое десятичное целое число. Все символы строки должны быть десятичными цифрами, однако первым символом может быть знак плюса ASCII '+' ('\u002B'). Полученное целочисленное значение возвращается точно так же, как если бы аргумент и основание 10 были переданы в качестве аргументов методу parseUnsignedInt(java.lang.String, int).
Параметры:
s — String, содержащее беззнаковое представление int для разбора
Возвращает:
беззнаковое целочисленное значение, представленное аргументом в десятичной системе счисления.
Выбрасывает:
NumberFormatException — если строка не содержит беззнаковое целое число, которое можно разобрать.
Начиная с:
1.8

valueOf

public static Integer valueOf(String s, int radix) throws NumberFormatException
Возвращает объект Integer, содержащий значение, полученное из указанного String при разборе с основанием системы счисления, заданным вторым аргументом. Первый аргумент интерпретируется как знаковое целое число в системе счисления с основанием, указанным вторым аргументом, точно так же, как если бы эти аргументы были переданы методу parseInt(java.lang.String, int). Результатом является объект Integer, представляющий целочисленное значение, заданное строкой.

Иными словами, этот метод возвращает объект Integer, равный значению:

Integer.valueOf(Integer.parseInt(s, radix))
Параметры:
s — строка для разбора.
radix — основание системы счисления для интерпретации s
Возвращает:
объект Integer, содержащий значение, представленное строковым аргументом в указанной системе счисления.
Выбрасывает:
NumberFormatException — если String не содержит int, которое можно разобрать.

valueOf

public static Integer valueOf(String s) throws NumberFormatException
Возвращает объект Integer, содержащий значение указанного String. Аргумент интерпретируется как знаковое десятичное целое число, точно так же, как если бы он был передан методу parseInt(java.lang.String). Результатом является объект Integer, представляющий целочисленное значение, заданное строкой.

Иными словами, этот метод возвращает объект Integer, равный значению:

Integer.valueOf(Integer.parseInt(s))
Параметры:
s — строка для разбора.
Возвращает:
объект Integer, содержащий значение, представленное строковым аргументом.
Выбрасывает:
NumberFormatException — если строку нельзя разобрать как целое число.

valueOf

public static Integer valueOf(int i)
Возвращает экземпляр Integer, представляющий указанное значение int. Если новый экземпляр Integer не требуется, обычно следует предпочесть этот метод конструктору Integer(int), поскольку кэширование часто запрашиваемых значений, вероятно, обеспечивает значительно более эффективное использование памяти и времени. Этот метод всегда кэширует значения в диапазоне от -128 до 127 включительно и может кэшировать другие значения за пределами этого диапазона.
Параметры:
i — значение int.
Возвращает:
экземпляр Integer, представляющий i.
Начиная с:
1.5

byteValue

public byte byteValue()
Возвращает значение этого Integer как byte после сужающего преобразования примитивного типа.
Переопределяет:
byteValue в классе Number
Возвращает:
числовое значение, представленное этим объектом после преобразования к типу byte.
См. Спецификацию языка Java:
5.1.3 Сужающее преобразование примитивного типа

shortValue

public short shortValue()
Возвращает значение этого Integer как short после сужающего преобразования примитивного типа.
Переопределяет:
shortValue в классе Number
Возвращает:
числовое значение, представленное этим объектом после преобразования к типу short.
См. Спецификацию языка Java:
5.1.3 Сужающее преобразование примитивного типа

intValue

public int intValue()
Возвращает значение этого Integer как int.
Определено в:
intValue в классе Number
Возвращает:
числовое значение, представленное этим объектом после преобразования к типу int.

longValue

public long longValue()
Возвращает значение этого Integer как long после расширяющего примитивного преобразования.
Указано в:
longValue в классе Number
Возвращает:
числовое значение, представленное этим объектом, после преобразования к типу long.
См. Спецификацию языка Java:
5.1.2 Расширяющее примитивное преобразование
См. также:
  • toUnsignedLong(int)

floatValue

public float floatValue()
Возвращает значение этого Integer как float после расширяющего примитивного преобразования.
Указано в:
floatValue в классе Number
Возвращает:
числовое значение, представленное этим объектом, после преобразования к типу float.
См. Спецификацию языка Java:
5.1.2 Расширяющее примитивное преобразование

doubleValue

public double doubleValue()
Возвращает значение этого Integer как double после расширяющего примитивного преобразования.
Указано в:
doubleValue в классе Number
Возвращает:
числовое значение, представленное этим объектом, после преобразования к типу double.
См. Спецификацию языка Java:
5.1.2 Расширяющее примитивное преобразование

toString

public String toString()
Возвращает объект String, представляющий значение этого Integer. Значение преобразуется в знаковое десятичное представление и возвращается в виде строки точно так же, как если бы целочисленное значение было передано в качестве аргумента методу toString(int).
Переопределяет:
toString в классе Object
Возвращает:
строковое представление значения этого объекта в десятичной системе счисления.

hashCode

public int hashCode()
Возвращает хеш-код этого Integer.
Переопределяет:
hashCode в классе Object
Возвращает:
значение хеш-кода этого объекта, равное значению примитивного типа int, представленного этим объектом Integer.
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(Object)

hashCode

public static int hashCode(int value)
Возвращает хеш-код значения int; совместим с Integer.hashCode().
Параметры:
value — значение, для которого вычисляется хеш-код
Возвращает:
значение хеш-кода для значения int.
Начиная с версии:
1.8

equals

public boolean equals(Object obj)
Сравнивает этот объект с указанным объектом. Результат равен true тогда и только тогда, когда аргумент не является null и представляет собой объект Integer, содержащий то же значение int, что и этот объект.
Переопределяет:
equals в классе Object
Параметры:
obj — объект для сравнения.
Возвращает:
true, если объекты одинаковы; в противном случае — false.
См. также:
  • Object.hashCode()
  • HashMap

getInteger

public static Integer getInteger(String nm)
Определяет целочисленное значение системного свойства с указанным именем.

Первый аргумент рассматривается как имя системного свойства. Доступ к системным свойствам осуществляется с помощью метода System.getProperty(java.lang.String). Затем строковое значение этого свойства интерпретируется как целочисленное значение с использованием грамматики, поддерживаемой методом decode, и возвращается объект Integer, представляющий это значение.

Если свойство с указанным именем отсутствует, если указанное имя пусто или равно null, либо если числовой формат свойства некорректен, возвращается null.

Иными словами, этот метод возвращает объект Integer, равный значению:

getInteger(nm, null)
Параметры:
nm — имя свойства.
Возвращает:
значение свойства типа Integer.
См. также:
  • System.getProperty(java.lang.String)
  • System.getProperty(java.lang.String, java.lang.String)

getInteger

public static Integer getInteger(String nm, int val)
Определяет целочисленное значение системного свойства с указанным именем.

Первый аргумент рассматривается как имя системного свойства. Доступ к системным свойствам осуществляется с помощью метода System.getProperty(java.lang.String). Затем строковое значение этого свойства интерпретируется как целочисленное значение с использованием грамматики, поддерживаемой методом decode, и возвращается объект Integer, представляющий это значение.

Второй аргумент — значение по умолчанию. Объект Integer, представляющий значение второго аргумента, возвращается, если свойство с указанным именем отсутствует, если числовой формат свойства некорректен либо если указанное имя пусто или равно null.

Иными словами, этот метод возвращает объект Integer, равный значению:

getInteger(nm, Integer.valueOf(val))
однако на практике он может быть реализован, например, следующим образом:
Integer result = getInteger(nm, null);
return (result == null) ? Integer.valueOf(val) : result;
, чтобы избежать ненужного создания объекта Integer, когда значение по умолчанию не требуется.
Параметры:
nm — имя свойства.
val — значение по умолчанию.
Возвращает:
значение свойства типа Integer.
См. также:
  • System.getProperty(java.lang.String)
  • System.getProperty(java.lang.String, java.lang.String)

getInteger

public static Integer getInteger(String nm, Integer val)
Возвращает целочисленное значение системного свойства с указанным именем. Первый аргумент рассматривается как имя системного свойства. Доступ к системным свойствам осуществляется с помощью метода System.getProperty(java.lang.String). Затем строковое значение этого свойства интерпретируется как целочисленное значение согласно методу decode, и возвращается объект Integer, представляющий это значение. Иными словами:
  • Если значение свойства начинается с двух символов ASCII 0x или символа ASCII #, за которым не следует знак минус, оставшаяся часть разбирается как шестнадцатеричное целое число точно так же, как методом valueOf(java.lang.String, int) с основанием 16.
  • Если значение свойства начинается с символа ASCII 0, за которым следует другой символ, оно разбирается как восьмеричное целое число точно так же, как методом valueOf(java.lang.String, int) с основанием 8.
  • В противном случае значение свойства разбирается как десятичное целое число точно так же, как методом valueOf(java.lang.String, int) с основанием 10.

Второй аргумент — значение по умолчанию. Значение по умолчанию возвращается, если свойство с указанным именем отсутствует, если числовой формат свойства некорректен либо если указанное имя пусто или равно null.

Параметры:
nm — имя свойства.
val — значение по умолчанию.
Возвращает:
значение свойства типа Integer.
См. также:
  • System.getProperty(java.lang.String)
  • System.getProperty(java.lang.String, java.lang.String)

decode

public static Integer decode(String nm) throws NumberFormatException
Декодирует String в Integer. Поддерживаются десятичные, шестнадцатеричные и восьмеричные числа, соответствующие следующей грамматике:
DecodableString:
Signopt DecimalNumeral
Signopt 0x HexDigits
Signopt 0X HexDigits
Signopt # HexDigits
Signopt 0 OctalDigits
Sign:
-
+
DecimalNumeral, HexDigits и OctalDigits определены в разделе 3.10.1 документа Спецификация языка Java, за исключением того, что символы подчёркивания между цифрами не допускаются.

Последовательность символов после необязательного знака и/или указателя основания («0x», «0X», «#» или начальный ноль) разбирается методом Integer.parseInt с указанным основанием (10, 16 или 8). Эта последовательность символов должна представлять положительное значение, иначе будет выброшено исключение NumberFormatException. Результат меняет знак на противоположный, если первым символом указанного String является знак минуса. В String не допускаются пробельные символы.

Параметры:
nm — String для декодирования.
Возвращает:
объект Integer, содержащий значение int, представленное nm
Выбрасывает:
NumberFormatException — если String не содержит разбираемое целое число.
См. также:
  • parseInt(java.lang.String, int)

compareTo

public int compareTo(Integer anotherInteger)
Сравнивает численно два объекта Integer.
Указано в:
compareTo в интерфейсе Comparable<Integer>
Параметры:
anotherInteger — Integer для сравнения.
Возвращает:
значение 0, если этот Integer равен аргументу Integer; значение меньше 0, если этот Integer численно меньше аргумента Integer; и значение больше 0, если этот Integer численно больше аргумента Integer (сравнение со знаком).
Начиная с версии:
1.2

compare

public static int compare(int x, int y)
Численно сравнивает два значения int. Возвращаемое значение совпадает со значением, которое вернул бы вызов:
   Integer.valueOf(x).compareTo(Integer.valueOf(y))
Параметры:
x — первое значение int для сравнения
y — второе значение int для сравнения
Возвращает:
значение 0, если x == y; значение меньше 0, если x < y; и значение больше 0, если x > y
Начиная с версии:
1.7

compareUnsigned

public static int compareUnsigned(int x, int y)
Численно сравнивает два значения int, рассматривая их как беззнаковые.
Параметры:
x — первое значение int для сравнения
y — второе значение int для сравнения
Возвращает:
значение 0, если x == y; значение меньше 0, если x < y как беззнаковые значения; и значение больше 0, если x > y как беззнаковые значения
Начиная с версии:
1.8

toUnsignedLong

public static long toUnsignedLong(int x)
Преобразует аргумент в long посредством беззнакового преобразования. При беззнаковом преобразовании в long старшие 32 бита значения long равны нулю, а младшие 32 бита совпадают с битами целочисленного аргумента. Следовательно, нулевые и положительные значения int преобразуются в численно равное значение long, а отрицательные значения int — в значение long, равное входному значению плюс 232.
Параметры:
x — значение для преобразования в беззнаковое long
Возвращает:
аргумент, преобразованный в long посредством беззнакового преобразования
Начиная с версии:
1.8

divideUnsigned

public static int divideUnsigned(int dividend, int divisor)
Возвращает беззнаковое частное от деления первого аргумента на второй, рассматривая каждый аргумент и результат как беззнаковое значение.

Обратите внимание: в арифметике с дополнительным кодом три другие основные арифметические операции — сложение, вычитание и умножение — побитово идентичны, если оба операнда считать либо знаковыми, либо беззнаковыми. Поэтому отдельные методы addUnsigned и т. п. не предоставляются.

Параметры:
dividend — делимое
divisor — делитель
Возвращает:
беззнаковое частное от деления первого аргумента на второй
Начиная с версии:
1.8
См. также:
  • remainderUnsigned(int, int)

remainderUnsigned

public static int remainderUnsigned(int dividend, int divisor)
Возвращает беззнаковый остаток от деления первого аргумента на второй, рассматривая каждый аргумент и результат как беззнаковое значение.
Параметры:
dividend — делимое
divisor — делитель
Возвращает:
беззнаковый остаток от деления первого аргумента на второй
Начиная с версии:
1.8
См. также:
  • divideUnsigned(int, int)

highestOneBit

public static int highestOneBit(int i)
Возвращает значение int не более чем с одним битом, равным единице, в позиции старшего («самого левого») бита, равного единице, указанного значения int. Возвращает ноль, если в двоичном представлении указанного значения в дополнительном коде нет битов, равных единице, то есть если оно равно нулю.
Параметры:
i — значение, для которого требуется вычислить самый старший бит, равный единице
Возвращает:
значение int с одним битом, равным единице, в позиции самого старшего бита, равного единице, указанного значения, либо ноль, если указанное значение равно нулю.
Начиная с версии:
1.5

lowestOneBit

public static int lowestOneBit(int i)
Возвращает значение int не более чем с одним битом, равным единице, в позиции младшего («самого правого») бита, равного единице, указанного значения int. Возвращает ноль, если в двоичном представлении указанного значения в дополнительном коде нет битов, равных единице, то есть если оно равно нулю.
Параметры:
i — значение, для которого требуется вычислить самый младший бит, равный единице
Возвращает:
значение int с одним битом, равным единице, в позиции самого младшего бита, равного единице, указанного значения, либо ноль, если указанное значение равно нулю.
Начиная с версии:
1.5

numberOfLeadingZeros

public static int numberOfLeadingZeros(int i)
Возвращает количество нулевых битов перед старшим («самым левым») битом, равным единице, в двоичном представлении указанного значения int в дополнительном коде. Возвращает 32, если в представлении указанного значения в дополнительном коде нет битов, равных единице, то есть если оно равно нулю.

Обратите внимание, что этот метод тесно связан с логарифмом по основанию 2. Для всех положительных значений int x:

  • floor(log2(x)) = 31 - numberOfLeadingZeros(x)
  • ceil(log2(x)) = 32 - numberOfLeadingZeros(x - 1)
Параметры:
i — значение, для которого требуется вычислить количество ведущих нулей
Возвращает:
количество нулевых битов перед старшим («самым левым») битом, равным единице, в двоичном представлении указанного значения int в дополнительном коде либо 32, если значение равно нулю.
Начиная с версии:
1.5

numberOfTrailingZeros

public static int numberOfTrailingZeros(int i)
Возвращает количество нулевых битов после младшего («самого правого») бита, равного единице, в двоичном представлении указанного значения int в дополнительном коде. Возвращает 32, если в представлении указанного значения в дополнительном коде нет битов, равных единице, то есть если оно равно нулю.
Параметры:
i — значение, для которого требуется вычислить количество конечных нулей
Возвращает:
количество нулевых битов после младшего («самого правого») бита, равного единице, в двоичном представлении указанного значения int в дополнительном коде либо 32, если значение равно нулю.
Начиная с версии:
1.5

bitCount

public static int bitCount(int i)
Возвращает количество битов, равных единице, в двоичном представлении указанного значения int в дополнительном коде. Эта функция также называется подсчётом единичных битов.
Параметры:
i — значение, биты которого требуется подсчитать
Возвращает:
количество битов, равных единице, в двоичном представлении указанного значения int в дополнительном коде.
Начиная с версии:
1.5

rotateLeft

public static int rotateLeft(int i, int distance)
Возвращает значение, полученное циклическим сдвигом влево двоичного представления указанного значения int в дополнительном коде на заданное количество битов. (Биты, вытесненные слева, со стороны старших разрядов, возвращаются справа, со стороны младших разрядов.)

Обратите внимание, что циклический сдвиг влево на отрицательное расстояние эквивалентен циклическому сдвигу вправо: rotateLeft(val, -distance) == rotateRight(val, distance). Также обратите внимание, что сдвиг на любое число, кратное 32, не изменяет значение, поэтому можно игнорировать все биты расстояния сдвига, кроме пяти младших, даже если расстояние отрицательное: rotateLeft(val, distance) == rotateLeft(val, distance & 0x1F).

Параметры:
i — значение, биты которого требуется циклически сдвинуть влево
distance — количество битовых позиций для циклического сдвига влево
Возвращает:
значение, полученное циклическим сдвигом влево двоичного представления указанного значения int в дополнительном коде на заданное количество битов.
Начиная с версии:
1.5

rotateRight

public static int rotateRight(int i, int distance)
Возвращает значение, полученное циклическим сдвигом вправо двоичного представления указанного значения int в дополнительном коде на заданное количество битов. (Биты, вытесненные справа, со стороны младших разрядов, возвращаются слева, со стороны старших разрядов.)

Обратите внимание, что циклический сдвиг вправо на отрицательное расстояние эквивалентен циклическому сдвигу влево: rotateRight(val, -distance) == rotateLeft(val, distance). Также обратите внимание, что сдвиг на любое число, кратное 32, не изменяет значение, поэтому можно игнорировать все биты расстояния сдвига, кроме пяти младших, даже если расстояние отрицательное: rotateRight(val, distance) == rotateRight(val, distance & 0x1F).

Параметры:
i — значение, биты которого требуется циклически сдвинуть вправо
distance — количество битовых позиций для циклического сдвига вправо
Возвращает:
значение, полученное циклическим сдвигом вправо двоичного представления указанного значения int в дополнительном коде на заданное количество битов.
Начиная с версии:
1.5

reverse

public static int reverse(int i)
Возвращает значение, полученное перестановкой битов в обратном порядке в двоичном представлении указанного значения int в дополнительном коде.
Параметры:
i — значение для обращения порядка битов
Возвращает:
значение, полученное перестановкой битов в указанном значении int в обратном порядке.
Начиная с версии:
1.5

compress

public static int compress(int i, int mask)
Возвращает значение, полученное сжатием битов указанного значения int, i, в соответствии с заданной битовой маской.

Для каждого бита маски, равного единице, mb, от младшего к старшему, значение бита i, расположенного в той же битовой позиции, что и mb, последовательно помещается в сжатое значение, начиная с младшего бита. Все оставшиеся старшие биты сжатого значения устанавливаются в ноль.

Примечание к API:
Рассмотрим простой случай сжатия цифр шестнадцатеричного значения:
// Compressing drink to food
compress(0xCAFEBABE, 0xFF00FFF0) == 0xCABAB
Начиная с младшей шестнадцатеричной цифры в позиции 0 справа, маска 0xFF00FFF0 выбирает шестнадцатеричные цифры в позициях 1, 2, 3, 6 и 7 значения 0xCAFEBABE. Выбранные цифры последовательно располагаются в результирующем сжатом значении, начиная с позиции 0, в том же порядке.

Следующие тождества возвращают true и помогают понять поведение compress:

// Returns 1 if the bit at position n is one
compress(x, 1 << n) == (x >> n & 1)

// Logical shift right
compress(x, -1 << n) == x >>> n

// Any bits not covered by the mask are ignored
compress(x, m) == compress(x & m, m)

// Compressing a value by itself
compress(m, m) == (m == -1 || m == 0) ? m : (1 << bitCount(m)) - 1

// Expanding then compressing with the same mask
compress(expand(x, m), m) == x & compress(m, m)

Операцию «овцы и козы» (Sheep And Goats, SAG; см. Hacker's Delight, второе издание, раздел 7.7) можно реализовать следующим образом:

int compressLeft(int i, int mask) {
    // This implementation follows the description in Hacker's Delight which
    // is informative. A more optimal implementation is:
    //   Integer.compress(i, mask) << -Integer.bitCount(mask)
    return Integer.reverse(
        Integer.compress(Integer.reverse(i), Integer.reverse(mask)));
}

int sag(int i, int mask) {
    return compressLeft(i, mask) | Integer.compress(i, ~mask);
}

// Separate the sheep from the goats
sag(0xCAFEBABE, 0xFF00FFF0) == 0xCABABFEE
Параметры:
i — значение, биты которого требуется сжать
mask — битовая маска
Возвращает:
сжатое значение
Начиная с версии:
19
См. также:
  • expand(int, int)

expand

public static int expand(int i, int mask)
Возвращает значение, полученное расширением битов указанного значения int, i, в соответствии с заданной битовой маской.

Для каждого бита маски, равного единице, mb, от младшего к старшему, следующее последовательное значение бита i, начиная с младшего бита, помещается в расширенное значение в той же битовой позиции, что и mb. Все остальные оставшиеся биты расширенного значения устанавливаются в ноль.

Примечание к API:
Рассмотрим простой случай расширения цифр шестнадцатеричного значения:
expand(0x0000CABAB, 0xFF00FFF0) == 0xCA00BAB0
Начиная с младшей шестнадцатеричной цифры в позиции 0 справа, маска 0xFF00FFF0 выбирает первые пять шестнадцатеричных цифр значения 0x0000CABAB. Выбранные цифры располагаются в результирующем расширенном значении в том же порядке в позициях 1, 2, 3, 6 и 7.

Следующие тождества возвращают true и помогают понять поведение expand:

// Logically shift right the bit at position 0
expand(x, 1 << n) == (x & 1) << n

// Logically shift right
expand(x, -1 << n) == x << n

// Expanding all bits returns the mask
expand(-1, m) == m

// Any bits not covered by the mask are ignored
expand(x, m) == expand(x, m) & m

// Compressing then expanding with the same mask
expand(compress(x, m), m) == x & m

Операцию выбора позиции бита, равного единице, с индексом n в значении int можно реализовать следующим образом:

int select(int i, int n) {
    // the one-bit in i (the mask) with index n
    int nthBit = Integer.expand(1 << n, i);
    // the bit position of the one-bit with index n
    return Integer.numberOfTrailingZeros(nthBit);
}

// The one-bit with index 0 is at bit position 1
select(0b10101010_10101010, 0) == 1
// The one-bit with index 3 is at bit position 7
select(0b10101010_10101010, 3) == 7
Параметры:
i — значение, биты которого требуется расширить
mask — битовая маска
Возвращает:
расширенное значение
Начиная с версии:
19
См. также:
  • compress(int, int)

signum

public static int signum(int i)
Возвращает знак указанного значения int. (Возвращаемое значение равно -1, если указанное значение отрицательно; 0, если оно равно нулю; и 1, если оно положительно.)
Параметры:
i — значение, знак которого требуется определить
Возвращает:
знак указанного значения int.
Начиная с версии:
1.5

reverseBytes

public static int reverseBytes(int i)
Возвращает значение, полученное перестановкой байтов в обратном порядке в представлении указанного значения int в дополнительном коде.
Параметры:
i — значение, байты которого требуется переставить в обратном порядке
Возвращает:
значение, полученное перестановкой байтов в указанном значении int в обратном порядке.
Начиная с версии:
1.5

sum

public static int sum(int a, int b)
Складывает два целых числа, как это делает оператор +.
Параметры:
a — первый операнд
b — второй операнд
Возвращает:
сумму a и b
Начиная с версии:
1.8
См. также:
  • BinaryOperator

max

public static int max(int a, int b)
Возвращает большее из двух значений int, как если бы был вызван метод Math.max.
Параметры:
a — первый операнд
b — второй операнд
Возвращает:
большее из a и b
Начиная с версии:
1.8
См. также:
  • BinaryOperator

min

public static int min(int a, int b)
Возвращает меньшее из двух значений int, как если бы был вызван метод Math.min.
Параметры:
a — первый операнд
b — второй операнд
Возвращает:
меньшее из a и b
Начиная с версии:
1.8
См. также:
  • BinaryOperator

describeConstable

public Optional<Integer> describeConstable()
Возвращает Optional, содержащий номинальный дескриптор этого экземпляра, которым является сам экземпляр.
Определено в:
describeConstable в интерфейсе Constable
Возвращает:
Optional, описывающий экземпляр Integer
Начиная с версии:
12

resolveConstantDesc

public Integer resolveConstantDesc(MethodHandles.Lookup lookup)
Разрешает этот экземпляр как ConstantDesc; результатом является сам экземпляр.
Определено в:
resolveConstantDesc в интерфейсе ConstantDesc
Параметры:
lookup — игнорируется
Возвращает:
экземпляр Integer
Начиная с версии:
12

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Integer.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API