Spec-Zone.ru › OpenJDK 24

Класс 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)
Устаревший, для удаления: Этот элемент API может быть удален в будущей версии.
Редко уместно использовать этот конструктор.
Integer(String s)
Устаревший, для удаления: Этот элемент API может быть удален в будущей версии.
Редко уместно использовать этот конструктор.

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

Модификатор и тип Метод Описание
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)
Возвращает строковое представление целого аргумента как беззнаковое целое число в двоичной системе счисления.
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 long toUnsignedLong(int x)
Преобразует аргумент в long с помощью беззнакового преобразования.
END_OF_DOCUMENT_MARKER
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 при разборе с основанием, заданным вторым аргументом.

Методы, объявленные в классе java.lang.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", forRemoval=true) public Integer(int value)
Устарело, подлежит удалению: Этот элемент API может быть удалён в будущей версии.
Использование этого конструктора редко целесообразно. Статический фабричный метод valueOf(int) обычно предпочтительнее, так как он, вероятно, обеспечит значительно лучшую производительность по памяти и времени.
Создаёт новый объект Integer, который представляет указанное значение int.
Параметры:
value - значение, которое должен представлять объект Integer.

Integer

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

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

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)
Возвращает строковое представление целого аргумента как беззнакового целого числа в шестнадцатеричной системе счисления.

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

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

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

0123456789abcdef
Это символы '\u0030' по '\u0039' и '\u0061' по '\u0066'. Если требуются прописные буквы, можно вызвать метод String.toUpperCase() на результате:
Integer.toHexString(n).toUpperCase()
Примечание API:
Класс HexFormat предоставляет форматирование и разбор массивов байтов и примитивов, возвращающих строку или добавляющих к Appendable. HexFormat форматирует и разбирает шестнадцатеричные символы в верхнем или нижнем регистре, с ведущими нулями, и для массивов байтов включает для каждого байта разделитель, префикс и суффикс.
Параметры:
i - целое число, которое необходимо преобразовать в строку.
Возвращает:
строковое представление беззнакового целого значения, представленного аргументом в шестнадцатеричной системе счисления.
С тех пор, как:
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)
Возвращает строковое представление целочисленного аргумента как целого без знака в двоичной системе счисления.

Значение целого без знака — это аргумент плюс 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 — целое число, которое необходимо преобразовать.
Возвращает:
строковое представление аргумента в системе счисления с основанием 10.

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 — строка, содержащая целое представление, которое необходимо разобрать
radix — основание, используемое при разборе s.
Возвращает:
целое число, представленное строковым аргументом в указанной системе счисления.
Исключения:
NumberFormatException — если строка не содержит разбираемого целого числа.

parseInt

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

Метод не предпринимает мер по защите от изменения CharSequence во время парсинга.

Параметры:
s — CharSequence, содержащий целое представление, которое необходимо разобрать
beginIndex — начальный индекс (включительно).
endIndex — конечный индекс (исключительно).
radix — основание, используемое при разборе s.
Возвращает:
знаковое целое число, представленное подпоследовательностью в указанной системе счисления.
Исключения:
NullPointerException — если s равно null.
IndexOutOfBoundsException — если beginIndex отрицательно, или если beginIndex больше endIndex, или если endIndex больше s.length().
NumberFormatException — если CharSequence не содержит разбираемого целого числа в указанной 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 — строка, содержащая целое представление, которое необходимо разобрать
Возвращает:
целое значение, представленное аргументом в десятичной системе.
Исключения:
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 - строка, содержащая представление беззнакового целого числа для парсинга
radix - основание, используемое при парсинге s.
Возвращает:
целое число, представленное строковым аргументом в заданном основании.
Выбрасывает:
NumberFormatException - если строка не содержит парсируемое беззнаковое 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 - строка, содержащая представление беззнакового int для парсинга
beginIndex - начальный индекс, включительно.
endIndex - конечный индекс, исключающий.
radix - основание, используемое при парсинге s.
Возвращает:
беззнаковое int, представленное подпоследовательностью в заданном основании.
Выбрасывает:
NullPointerException - если s равно null.
IndexOutOfBoundsException - если beginIndex отрицательно, или если beginIndex больше endIndex, или если endIndex больше s.length().
NumberFormatException - если строка не содержит парсируемое беззнаковое 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 - строка, содержащая представление беззнакового int для парсинга
Возвращает:
беззнаковое целое значение, представленное аргументом в десятичном формате.
Выбрасывает:
NumberFormatException - если строка не содержит парсируемое беззнаковое целое число.
С:
1.8

valueOf

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

Другими словами, этот метод возвращает объект Integer, равный:

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

valueOf

public static Integer valueOf(String s) throws NumberFormatException
Возвращает объект Integer, содержащий значение указанной строки. Аргумент интерпретируется как представление целого числа со знаком в десятичной системе счисления, точно так же, как если бы аргумент был передан методу 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
Возвращает:
строковое представление значения этого объекта в системе счисления с основанием 10.

hashCode

public int hashCode()
Возвращает хэш-код для этого Integer.
Переопределяет:
hashCode в классе Object
Возвращает:
значение хэш-кода для этого объекта, равное примитивному значению int, представленному этим объектом Integer.
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.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. Принимает десятичные, шестнадцатеричные и восьмеричные числа, задаваемые следующей грамматикой:
Декодируемая строка:
Знакопц Десятичное число
Знакопц 0x Шестнадцатеричные цифры
Знакопц 0X Шестнадцатеричные цифры
Знакопц # Шестнадцатеричные цифры
Знакопц 0 Восьмеричные цифры
Знак:
-
+
Десятичное число, Шестнадцатеричные цифры и Восьмеричные цифры определены в разделе 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 численно.
Specified by:
compareTo в интерфейсе Comparable<Integer>
Parameters:
anotherInteger - сравниваемый Integer.
Returns:
значение 0, если этот Integer равен аргументу Integer; значение меньше 0, если этот Integer численно меньше аргумента Integer; и значение больше 0, если этот Integer численно больше аргумента Integer (сравнение со знаком).
Since:
1.2

compare

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

compareUnsigned

public static int compareUnsigned(int x, int y)
Сравнивает два значения int численно, рассматривая значения как беззнаковые.
Parameters:
x - первое сравниваемое значение int
y - второе сравниваемое значение int
Returns:
значение 0, если x == y; значение меньше 0, если x < y как беззнаковые значения; и значение больше 0, если x > y как беззнаковые значения
Since:
1.8

toUnsignedLong

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

divideUnsigned

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

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

Parameters:
dividend - делимое значение
divisor - делитель
Returns:
беззнаковое частное от деления первого аргумента на второй аргумент
Since:
1.8
See Also:
  • remainderUnsigned(int, int)

remainderUnsigned

public static int remainderUnsigned(int dividend, int divisor)
Возвращает беззнаковый остаток от деления первого аргумента на второй, где каждый аргумент и результат интерпретируются как беззнаковое значение.
Parameters:
dividend - делимое значение
divisor - делитель
Returns:
беззнаковый остаток от деления первого аргумента на второй аргумент
Since:
1.8
See Also:
  • divideUnsigned(int, int)

highestOneBit

public static int highestOneBit(int i)
Возвращает значение int с не более чем одним битом, в позиции старшего ("левого") бита в заданном значении int. Возвращает ноль, если в заданном значении нет единичных битов в его двоичном представлении со знаком минус, то есть если оно равно нулю.
Parameters:
i - значение, для которого должен быть вычислен самый старший бит
Returns:
значение int с одним битом, в позиции старшего бита в заданном значении, или ноль, если заданное значение само равно нулю.
Since:
1.5

lowestOneBit

public static int lowestOneBit(int i)
Возвращает значение int с не более чем одним битом, в позиции младшего ("правого") бита в заданном значении int. Возвращает ноль, если в заданном значении нет единичных битов в его двоичном представлении со знаком минус, то есть если оно равно нулю.
Parameters:
i - значение, для которого должен быть вычислен самый младший бит
Returns:
значение int с одним битом, в позиции младшего бита в заданном значении, или ноль, если заданное значение само равно нулю.
Since:
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)
Parameters:
i - значение, для которого должно быть вычислено количество ведущих нулей
Returns:
количество нулевых битов, предшествующих старшему ("левому") биту единицы в двоичном представлении со знаком минус заданного значения int, или 32, если значение равно нулю.
Since:
1.5

numberOfTrailingZeros

public static int numberOfTrailingZeros(int i)
Возвращает количество нулевых битов, следующих за младшим ("правым") битом единицы в двоичном представлении со знаком минус заданного значения int. Возвращает 32, если заданное значение не имеет единичных битов в своем представлении со знаком минус, то есть если оно равно нулю.
Parameters:
i - значение, для которого должно быть вычислено количество заключительных нулей
Returns:
количество нулевых битов, следующих за младшим ("правым") битом единицы в двоичном представлении со знаком минус заданного значения int, или 32, если значение равно нулю.
Since:
1.5

bitCount

public static int bitCount(int i)
Возвращает количество битов единицы в двоичном представлении со знаком минус заданного значения int. Эта функция иногда называется подсчетом популяции.
Parameters:
i - значение, биты которого должны быть подсчитаны
Returns:
количество битов единицы в двоичном представлении со знаком минус заданного значения int.
Since:
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).

Parameters:
i - значение, биты которого должны быть циклически сдвинуты влево
distance - количество позиций битов для сдвига влево
Returns:
значение, полученное путем циклического сдвига влево двоичного представления со знаком минус заданного значения int на заданное количество битов.
Since:
1.5

rotateRight

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

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

Parameters:
i - значение, биты которого нужно сдвинуть вправо
distance - количество битовых позиций для сдвига вправо
Returns:
значение, полученное путём циклического сдвига правого битового представления заданного int значения на указанное количество битов.
Since:
1.5

reverse

public static int reverse(int i)
Возвращает значение, полученное путём инвертирования порядка битов в двоичном представлении числа со знаком (двухдополнительный код) указанного int значения.
Parameters:
i - значение, которое нужно инвертировать
Returns:
значение, полученное путём инвертирования порядка битов в указанном int значении.
Since:
1.5

compress

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

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

API Note:
Рассмотрим простой случай сжатия цифр шестнадцатеричного значения:
// 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
Parameters:
i - значение, биты которого нужно сжать
mask - битовая маска
Returns:
сжатое значение
Since:
19
See Also:
  • expand(int, int)

expand

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

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

API Note:
Рассмотрим простой случай расширения цифр шестнадцатеричного значения:
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
Parameters:
i - значение, биты которого нужно расширить
mask - битовая маска
Returns:
расширенное значение
Since:
19
See Also:
  • compress(int, int)

signum

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

reverseBytes

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

sum

public static int sum(int a, int b)
Складывает два целых числа, как и оператор +.
Parameters:
a - первый операнд
b - второй операнд
Returns:
сумма a и b
Since:
1.8
See Also:
  • BinaryOperator

max

public static int max(int a, int b)
Возвращает большее из двух int значений так, как будто вызывается Math.max.
Parameters:
a - первый операнд
b - второй операнд
Returns:
большее из a и b
Since:
1.8
See Also:
  • BinaryOperator

min

public static int min(int a, int b)
Возвращает меньшее из двух int значений так, как будто вызывается Math.min.
Parameters:
a - первый операнд
b - второй операнд
Returns:
меньшее из a и b
Since:
1.8
See Also:
  • BinaryOperator

describeConstable

public Optional<Integer> describeConstable()
Возвращает Optional, содержащий номинальный дескриптор для данного экземпляра, который является самим экземпляром.
Specified by:
describeConstable in interface Constable
Returns:
Optional, описывающий экземпляр Integer
Since:
12

resolveConstantDesc

public Integer resolveConstantDesc(MethodHandles.Lookup lookup)
Резолвирует этот экземпляр как ConstantDesc, результатом чего является сам экземпляр.
Specified by:
resolveConstantDesc in interface ConstantDesc
Parameters:
lookup - игнорируется
Returns:
экземпляр Integer
Since:
12

© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/Integer.html

Spec-Zone.ru

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