Spec-Zone.ru › OpenJDK 21

Класс 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).

С тех пор:
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 может быть удален в будущей версии.
Использование этого конструктора редко уместно.

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

Modifier and Type Method Description
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)
Возвращает функцию signum для указанного значения 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) для преобразования строки в примитивное целое число или valueOf(String) для преобразования строки в объект целого числа.
Создаёт новый объект целого числа Integer, представляющий целое значение, указанное параметром String. Строка преобразуется в целое значение точно так же, как это делает метод 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' . Если основание равно 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) без дополнительных ведущих 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)
Возвращает строковое представление целого аргумента как беззнакового целого числа в восьмеричной системе счисления.

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

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 как знаковое int в указанном radix, начиная с указанного beginIndex и до endIndex - 1.
Параметры:
s - объект, содержащий строковое представление целого числа для парсинга
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 - если строка не содержит парсируемое беззнаковое целое число.
С:
1.8

parseUnsignedInt

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

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

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

parseUnsignedInt

public static int parseUnsignedInt(String s) throws NumberFormatException
Парсит строковый аргумент как беззнаковое десятичное целое число. Символы в строке должны быть десятичными цифрами, за исключением первого символа, который может быть ASCII знаком плюс '+' ('\u002B'). Результирующее целое значение возвращается точно так же, как если бы аргумент и основание 10 были переданы в метод parseUnsignedInt(java.lang.String, int).
Parameters:
s - строка, содержащая беззнаковое int представление для парсинга
Returns:
беззнаковое целое значение, представленное аргументом в десятичном формате.
Throws:
NumberFormatException - если строка не содержит парсируемое беззнаковое целое число.
Since:
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))
Parameters:
s - строка для парсинга.
radix - основание, используемое для интерпретации s
Returns:
объект Integer, содержащий значение, представленное строковым аргументом в заданном основании.
Throws:
NumberFormatException - если строка не содержит парсируемое целое число.

valueOf

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

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

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

valueOf

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

byteValue

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

shortValue

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

intValue

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

longValue

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

floatValue

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

doubleValue

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

toString

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

hashCode

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

hashCode

public static int hashCode(int value)
Возвращает код хэша для значения; совместимо с Integer.hashCode().
Parameters:
value - значение для хэширования
Returns:
значение кода хэша для значения.
Since:
1.8

equals

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

getInteger

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

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

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

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

getInteger(nm, null)
Parameters:
nm - имя переменной.
Returns:
значение Integer переменной.
Throws:
SecurityException - по тем же причинам, что и System.getProperty
See Also:
  • 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 когда значение по умолчанию не нужно.
Parameters:
nm - имя переменной.
val - значение по умолчанию.
Returns:
значение Integer переменной.
Throws:
SecurityException - по тем же причинам, что и System.getProperty
See Also:
  • 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.

Parameters:
nm - имя переменной.
val - значение по умолчанию.
Returns:
значение Integer переменной.
Throws:
SecurityException - по тем же причинам, что и System.getProperty
See Also:
  • 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 не допускаются пробелы.

Parameters:
nm - String для декодирования.
Returns:
объект типа Integer содержащий значение int представленное nm
Throws:
NumberFormatException - если String не содержит анализируемое целое число.
See Also:
  • parseInt(java.lang.String, int)

compareTo

public int compareTo(Integer anotherInteger)
Сравнивает два целочисленных объекта численно.
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)
Сравнивает два целых значения численно. Возвращаемое значение идентично тому, что вернул бы:
    Integer.valueOf(x).compareTo(Integer.valueOf(y))
 
Parameters:
x - первое целое число для сравнения
y - второе целое число для сравнения
Returns:
значение 0 если x == y; значение меньше 0 если x < y; и значение больше 0 если x > y
Since:
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 с не более чем одним битом 1, в позиции старшего бита (самого левого) в указанном значении int. Возвращает ноль, если указанное значение не имеет битов 1 в двоичном представлении со знаком дополнения, то есть если оно равно нулю.
Параметры:
i - значение, для которого необходимо вычислить старший бит 1
Возвращает:
значение int с одним битом 1, в позиции старшего бита в указанном значении, или ноль, если указанное значение само равно нулю.
С:
1.5

lowestOneBit

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

numberOfLeadingZeros

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

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

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

numberOfTrailingZeros

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

bitCount

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

reverseBytes

public static int reverseBytes(int i)
Возвращает значение, полученное путём перестановки байтов в представлении дополнительного кода 2 указанного 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

© 1993, 2023, 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/21/docs/api/java.base/java/lang/Integer.html

Spec-Zone.ru

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