Класс 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 |
TYPE |
Экземпляр Class, представляющий примитивный тип int. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
Integer |
Устарел. Использование этого конструктора редко бывает оправданным. |
Integer |
Устарел. Использование этого конструктора редко бывает оправданным. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static int |
bitCount |
Возвращает количество единичных битов в двоичном представлении указанного значения int с дополнительным кодом. |
byte |
byteValue() |
Возвращает значение этого Integer как byte после сужающего примитивного преобразования. |
static int |
compare |
Сравнивает численно два значения int. |
int |
compareTo |
Сравнивает численно два объекта Integer. |
static int |
compareUnsigned |
Сравнивает численно два значения int, трактуя их как беззнаковые. |
static int |
compress |
Возвращает значение, полученное сжатием битов указанного значения int, i, в соответствии с указанной битовой маской. |
static Integer |
decode |
Декодирует String в Integer. |
Optional |
describeConstable() |
Возвращает Optional, содержащий номинальный дескриптор этого экземпляра, которым является сам экземпляр. |
static int |
divideUnsigned |
Возвращает беззнаковое частное от деления первого аргумента на второй, считая каждый аргумент и результат беззнаковыми значениями. |
double |
doubleValue() |
Возвращает значение этого Integer как double после расширяющего примитивного преобразования. |
boolean |
equals |
Сравнивает этот объект с указанным объектом. |
static int |
expand |
Возвращает значение, полученное расширением битов указанного значения int, i, в соответствии с указанной битовой маской. |
float |
floatValue() |
Возвращает значение этого Integer как float после расширяющего примитивного преобразования. |
static Integer |
getInteger |
Определяет целочисленное значение системного свойства с указанным именем. |
static Integer |
getInteger |
Определяет целочисленное значение системного свойства с указанным именем. |
static Integer |
getInteger |
Возвращает целочисленное значение системного свойства с указанным именем. |
int |
hashCode() |
Возвращает хеш-код этого Integer. |
static int |
hashCode |
Возвращает хеш-код значения int; совместим с Integer.hashCode(). |
static int |
highestOneBit |
Возвращает значение int, содержащее не более одного единичного бита, расположенного на месте старшего (самого левого) единичного бита в указанном значении int. |
int |
intValue() |
Возвращает значение этого Integer как int. |
long |
longValue() |
Возвращает значение этого Integer как long после расширяющего примитивного преобразования. |
static int |
lowestOneBit |
Возвращает значение int, содержащее не более одного единичного бита, расположенного на месте младшего (самого правого) единичного бита в указанном значении int. |
static int |
max |
Возвращает большее из двух значений int, как если бы был вызван метод Math.max. |
static int |
min |
Возвращает меньшее из двух значений int, как если бы был вызван метод Math.min. |
static int |
numberOfLeadingZeros |
Возвращает количество нулевых битов перед старшим (самым левым) единичным битом в двоичном представлении указанного значения int с дополнительным кодом. |
static int |
numberOfTrailingZeros |
Возвращает количество нулевых битов после младшего (самого правого) единичного бита в двоичном представлении указанного значения int с дополнительным кодом. |
static int |
parseInt |
Разбирает аргумент CharSequence как знаковое значение int в указанной radix, начиная с указанной beginIndex и до endIndex - 1. |
static int |
parseInt |
Разбирает строковый аргумент как знаковое десятичное целое число. |
static int |
parseInt |
Разбирает строковый аргумент как знаковое целое число в системе счисления, заданной вторым аргументом. |
static int |
parseUnsignedInt |
Разбирает аргумент CharSequence как беззнаковое значение int в указанной radix, начиная с указанной beginIndex и до endIndex - 1. |
static int |
parseUnsignedInt |
Разбирает строковый аргумент как беззнаковое десятичное целое число. |
static int |
parseUnsignedInt |
Разбирает строковый аргумент как беззнаковое целое число в системе счисления, заданной вторым аргументом. |
static int |
remainderUnsigned |
Возвращает беззнаковый остаток от деления первого аргумента на второй, считая каждый аргумент и результат беззнаковыми значениями. |
Integer |
resolveConstantDesc |
Разрешает этот экземпляр как ConstantDesc; результатом является сам экземпляр. |
static int |
reverse |
Возвращает значение, полученное обращением порядка битов в двоичном представлении указанного значения int с дополнительным кодом. |
static int |
reverseBytes |
Возвращает значение, полученное обращением порядка байтов в представлении указанного значения int с дополнительным кодом. |
static int |
rotateLeft |
Возвращает значение, полученное циклическим сдвигом влево двоичного представления указанного значения int с дополнительным кодом на заданное количество битов. |
static int |
rotateRight |
Возвращает значение, полученное циклическим сдвигом вправо двоичного представления указанного значения int с дополнительным кодом на заданное количество битов. |
short |
shortValue() |
Возвращает значение этого Integer как short после сужающего примитивного преобразования. |
static int |
signum |
Возвращает функцию знака указанного значения int. |
static int |
sum |
Складывает два целых числа, как оператор +. |
static String |
toBinaryString |
Возвращает строковое представление целочисленного аргумента как беззнакового целого числа в системе счисления с основанием 2. |
static String |
toHexString |
Возвращает строковое представление целочисленного аргумента как беззнакового целого числа в системе счисления с основанием 16. |
static String |
toOctalString |
Возвращает строковое представление целочисленного аргумента как беззнакового целого числа в системе счисления с основанием 8. |
String |
toString() |
Возвращает объект String, представляющий значение этого Integer. |
static String |
toString |
Возвращает объект String, представляющий указанное целое число. |
static String |
toString |
Возвращает строковое представление первого аргумента в системе счисления, заданной вторым аргументом. |
static long |
toUnsignedLong |
Преобразует аргумент в long с помощью беззнакового преобразования. |
static String |
toUnsignedString |
Возвращает строковое представление аргумента как беззнакового десятичного значения. |
static String |
toUnsignedString |
Возвращает строковое представление первого аргумента как беззнакового целого числа в системе счисления, заданной вторым аргументом. |
static Integer |
valueOf |
Возвращает экземпляр Integer, представляющий указанное значение int. |
static Integer |
valueOf |
Возвращает объект Integer, содержащий значение указанного String. |
static Integer |
valueOf |
Возвращает объект Integer, содержащий значение, извлечённое из указанного String при разборе с системой счисления, заданной вторым аргументом. |
Методы, объявленные в классе Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
protected void |
finalize() |
Устарел, планируется удаление: этот элемент API может быть удалён в будущей версии. Финализация устарела и может быть удалена в будущем выпуске. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно вследствие уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно вследствие уведомления или прерывания, либо истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно вследствие уведомления или прерывания, либо истечения заданного промежутка реального времени. |
Подробное описание полей
MIN_VALUE
@Native public static final int MIN_VALUE
int: -231.- См. также:
MAX_VALUE
@Native public static final int MAX_VALUE
int: 231-1.- См. также:
TYPE
public static final Class<Integer> TYPE
Class, представляющий примитивный тип int.- Начиная с:
- 1.1
SIZE
@Native public static final int SIZE
int в двоичной форме с дополнением до двух.- Начиная с:
- 1.5
- См. также:
BYTES
public static final int BYTES
int в двоичной форме с дополнением до двух.- Начиная с:
- 1.8
- См. также:
Подробное описание конструкторов
Integer
@Deprecated(since="9") public Integer(int value)
valueOf(int), поскольку она, вероятно, обеспечивает значительно более высокую производительность по времени и объёму памяти.Integer, представляющий указанное значение int.- Параметры:
-
value— значение, которое будет представлено объектомInteger.
Integer
@Deprecated(since="9") public Integer(String s) throws NumberFormatException
parseInt(String) для преобразования строки в примитив int или valueOf(String) для преобразования строки в объект Integer.Integer, представляющий значение int, указанное параметром String. Строка преобразуется в значение int точно так же, как это делает метод parseInt с основанием 10.- Параметры:
-
s—String, которое нужно преобразовать вInteger. - Вызывает:
-
NumberFormatException— еслиStringне содержит разбираемое целое число.
Подробное описание методов
toString
public static String toString(int i, int radix)
Если основание системы счисления меньше Character.MIN_RADIX или больше Character.MAX_RADIX, вместо него используется основание 10.
Если первый аргумент отрицательный, первым символом результата будет символ минуса ASCII '-' ('\u002D'). Если первый аргумент неотрицательный, в результате не будет знакового символа.
Остальные символы результата представляют модуль первого аргумента. Если модуль равен нулю, он представляется одним символом нуля '0' ('\u0030'); в противном случае первый символ представления модуля не будет символом нуля. В качестве цифр используются следующие символы ASCII:
0123456789abcdefghijklmnopqrstuvwxyz Это символы от '\u0030' до '\u0039' и от '\u0061' до '\u007A'. Если radix равно N, первые N символов из этого набора используются в качестве цифр системы счисления с основанием N в указанном порядке. Таким образом, цифрами шестнадцатеричной системы счисления (основание 16) являются 0123456789abcdef. Чтобы использовать прописные буквы, можно вызвать для результата метод String.toUpperCase(): Integer.toString(n, 16).toUpperCase()
- Параметры:
-
i— целое число, которое нужно преобразовать в строку. -
radix— основание системы счисления для строкового представления. - Возвращает:
- строковое представление аргумента в указанной системе счисления.
- См. также:
toUnsignedString
public static String toUnsignedString(int i, int radix)
Если основание системы счисления меньше Character.MIN_RADIX или больше Character.MAX_RADIX, вместо него используется основание 10.
Обратите внимание: поскольку первый аргумент рассматривается как беззнаковое значение, начальный знак не выводится.
Если модуль равен нулю, он представляется одним символом нуля '0' ('\u0030'); в противном случае первый символ представления модуля не будет символом нуля.
Правила обработки оснований систем счисления и используемые в качестве цифр символы такие же, как в методе toString.
- Параметры:
-
i— целое число, которое нужно преобразовать в беззнаковую строку. -
radix— основание системы счисления для строкового представления. - Возвращает:
- беззнаковое строковое представление аргумента в указанной системе счисления.
- Начиная с:
- 1.8
- См. также:
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
- См. также:
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
- См. также:
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
- См. также:
toString
public static String toString(int i)
String, представляющий указанное целое число. Аргумент преобразуется в строковое представление со знаком в десятичной системе счисления и возвращается как строка — точно так же, как если бы аргумент и основание 10 были переданы в качестве аргументов методу toString(int, int).- Параметры:
-
i— целое число, которое нужно преобразовать. - Возвращает:
- строковое представление аргумента в десятичной системе счисления.
toUnsignedString
public static String toUnsignedString(int i)
toUnsignedString(int, int).- Параметры:
-
i— целое число, которое нужно преобразовать в беззнаковую строку. - Возвращает:
- беззнаковое строковое представление аргумента.
- Начиная с:
- 1.8
- См. также:
parseInt
public static int parseInt(String s, int radix) throws NumberFormatException
Character.digit(char, int) неотрицательное значение), за исключением первого символа: им может быть знак минуса ASCII '-' ('\u002D'), обозначающий отрицательное значение, или знак плюса ASCII '+' ('\u002B'), обозначающий положительное значение. Возвращается полученное целочисленное значение. Исключение типа NumberFormatException выбрасывается в любом из следующих случаев:
- Первый аргумент равен
nullили является строкой нулевой длины. - Основание системы счисления меньше
Character.MIN_RADIXили большеCharacter.MAX_RADIX. - Любой символ строки не является цифрой указанной системы счисления; исключение составляют знак минуса
'-'('\u002D') или знак плюса'+'('\u002B') в начале строки, если её длина больше 1. - Значение, представленное строкой, не является значением типа
int.
Примеры:
parseInt("0", 10) returns 0
parseInt("473", 10) returns 473
parseInt("+42", 10) returns 42
parseInt("-0", 10) returns 0
parseInt("-FF", 16) returns -255
parseInt("1100110", 2) returns 102
parseInt("2147483647", 10) returns 2147483647
parseInt("-2147483648", 10) returns -2147483648
parseInt("2147483648", 10) throws a NumberFormatException
parseInt("99", 8) throws a NumberFormatException
parseInt("Kona", 10) throws a NumberFormatException
parseInt("Kona", 27) returns 411787
- Параметры:
-
s—String, содержащая целочисленное представление для разбора -
radix— основание системы счисления, используемое при разбореs. - Возвращает:
- целое число, представленное строковым аргументом в указанной системе счисления.
- Вызывает:
-
NumberFormatException— еслиStringне содержит разбираемое значениеint.
parseInt
public static int parseInt(CharSequence s, int beginIndex, int endIndex, int radix) throws NumberFormatException
CharSequence как целое число со знаком int в указанном radix, начиная с указанного beginIndex и заканчивая endIndex - 1. Метод не принимает мер для защиты от изменения CharSequence во время разбора.
- Параметры:
-
s—CharSequence, содержащая представлениеintдля разбора -
beginIndex— начальный индекс включительно. -
endIndex— конечный индекс исключительно. -
radix— основание системы счисления, используемое при разбореs. - Возвращает:
- целое число со знаком
int, представленное подпоследовательностью в указанной системе счисления. - Вызывает:
-
NullPointerException— еслиsравно null. -
IndexOutOfBoundsException— еслиbeginIndexотрицательно, еслиbeginIndexбольшеendIndexили еслиendIndexбольшеs.length(). -
NumberFormatException— еслиCharSequenceне содержит разбираемое значениеintв указанномradixили еслиradixменьшеCharacter.MIN_RADIXили большеCharacter.MAX_RADIX. - Начиная с:
- 9
parseInt
public static int parseInt(String s) throws NumberFormatException
'-' ('\u002D'), обозначающий отрицательное значение, или знак плюса ASCII '+' ('\u002B'), обозначающий положительное значение. Полученное целочисленное значение возвращается точно так же, как если бы аргумент и основание 10 были переданы в качестве аргументов методу parseInt(java.lang.String, int).- Параметры:
-
s—String, содержащая представлениеintдля разбора - Возвращает:
- целочисленное значение, представленное аргументом в десятичной системе счисления.
- Вызывает:
-
NumberFormatException— если строка не содержит разбираемое целое число.
parseUnsignedInt
public static int parseUnsignedInt(String s, int radix) throws NumberFormatException
MAX_VALUE. Все символы строки должны быть цифрами указанной системы счисления (определяется тем, возвращает ли Character.digit(char, int) неотрицательное значение), за исключением первого символа: им может быть знак плюса ASCII '+' ('\u002B'). Возвращается полученное целочисленное значение. Исключение типа NumberFormatException выбрасывается в любом из следующих случаев:
- Первый аргумент равен
nullили является строкой нулевой длины. - Основание системы счисления меньше
Character.MIN_RADIXили большеCharacter.MAX_RADIX. - Любой символ строки не является цифрой указанной системы счисления; исключение составляет знак плюса
'+'('\u002B') в начале строки, если её длина больше 1. - Значение, представленное строкой, превышает наибольшее беззнаковое значение
int: 232-1.
- Параметры:
-
s—String, содержащая беззнаковое целочисленное представление для разбора -
radix— основание системы счисления, используемое при разбореs. - Возвращает:
- целое число, представленное строковым аргументом в указанной системе счисления.
- Вызывает:
-
NumberFormatException— еслиStringне содержит разбираемое значениеint. - Начиная с:
- 1.8
parseUnsignedInt
public static int parseUnsignedInt(CharSequence s, int beginIndex, int endIndex, int radix) throws NumberFormatException
CharSequence как беззнаковое целое число int в указанном radix, начиная с указанного beginIndex и заканчивая endIndex - 1. Метод не принимает мер для защиты от изменения CharSequence во время разбора.
- Параметры:
-
s—CharSequence, содержащая беззнаковое представлениеintдля разбора -
beginIndex— начальный индекс включительно. -
endIndex— конечный индекс исключительно. -
radix— основание системы счисления, используемое при разбореs. - Возвращает:
- беззнаковое целое число
int, представленное подпоследовательностью в указанной системе счисления. - Вызывает:
-
NullPointerException— еслиsравно null. -
IndexOutOfBoundsException— еслиbeginIndexотрицательно, еслиbeginIndexбольшеendIndexили еслиendIndexбольшеs.length(). -
NumberFormatException— еслиCharSequenceне содержит разбираемое беззнаковое значениеintв указанномradixили еслиradixменьшеCharacter.MIN_RADIXили большеCharacter.MAX_RADIX. - Начиная с:
- 9
parseUnsignedInt
public static int parseUnsignedInt(String s) throws NumberFormatException
'+' ('\u002B'). Полученное целочисленное значение возвращается точно так же, как если бы аргумент и основание 10 были переданы в качестве аргументов методу parseUnsignedInt(java.lang.String, int).- Параметры:
-
s—String, содержащая беззнаковое представлениеintдля разбора - Возвращает:
- беззнаковое целочисленное значение, представленное аргументом в десятичной системе счисления.
- Вызывает:
-
NumberFormatException— если строка не содержит разбираемое беззнаковое целое число. - Начиная с:
- 1.8
valueOf
public static Integer valueOf(String s, int radix) throws NumberFormatException
Integer, содержащий значение, извлечённое из указанного String при разборе с основанием, заданным вторым аргументом. Первый аргумент интерпретируется как знаковое целое число в системе счисления, заданной вторым аргументом, точно так же, как если бы аргументы были переданы методу parseInt(java.lang.String, int). Результатом является объект Integer, представляющий целочисленное значение, указанное строкой. Иными словами, этот метод возвращает объект Integer, равный значению:
Integer.valueOf(Integer.parseInt(s, radix))
- Параметры:
-
s— строка для разбора. -
radix— основание системы счисления, используемое для интерпретацииs - Возвращает:
- объект
Integer, содержащий значение, представленное строковым аргументом в указанной системе счисления. - Вызывает:
-
NumberFormatException— еслиStringне содержит разбираемое значениеint.
valueOf
public static Integer valueOf(String s) throws NumberFormatException
Integer, содержащий значение указанного String. Аргумент интерпретируется как знаковое десятичное целое число, точно так же, как если бы он был передан методу parseInt(java.lang.String). Результатом является объект Integer, представляющий целочисленное значение, указанное строкой. Иными словами, этот метод возвращает объект Integer, равный значению:
Integer.valueOf(Integer.parseInt(s))
- Параметры:
-
s— строка для разбора. - Возвращает:
- объект
Integer, содержащий значение, представленное строковым аргументом. - Вызывает:
-
NumberFormatException— если строку нельзя разобрать как целое число.
valueOf
public static Integer valueOf(int i)
Integer, представляющий указанное значение int. Если новый экземпляр Integer не требуется, обычно следует предпочесть этот метод конструктору Integer(int), поскольку за счёт кэширования часто запрашиваемых значений он, вероятно, обеспечивает значительно более высокую производительность по времени и объёму памяти. Этот метод всегда кэширует значения в диапазоне от -128 до 127 включительно и может кэшировать другие значения вне этого диапазона.- Параметры:
-
i— значениеint. - Возвращает:
- экземпляр
Integer, представляющийi. - Начиная с:
- 1.5
byteValue
public byte byteValue()
Integer как byte после сужающего преобразования примитивного типа.- Переопределяет:
-
byteValueв классеNumber - Возвращает:
- числовое значение, представленное этим объектом после преобразования к типу
byte. - См. Спецификацию языка Java:
- 5.1.3 Сужающее преобразование примитивного типа
shortValue
public short shortValue()
Integer как short после сужающего преобразования примитивного типа.- Переопределяет:
-
shortValueв классеNumber - Возвращает:
- числовое значение, представленное этим объектом после преобразования к типу
short. - См. Спецификацию языка Java:
- 5.1.3 Сужающее преобразование примитивного типа
intValue
longValue
public long longValue()
Integer как long после расширяющего преобразования примитивного типа.- Указано в:
-
longValueв классеNumber - Возвращает:
- числовое значение, представленное этим объектом, после преобразования к типу
long. - См. Спецификацию языка Java:
- 5.1.2 Расширяющее преобразование примитивного типа
- См. также:
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).hashCode
hashCode
public static int hashCode(int value)
int; совместим с Integer.hashCode().- Параметры:
-
value— значение для хеширования - Возвращает:
- значение хеш-кода для значения
int. - С версии:
- 1.8
equals
public boolean equals(Object obj)
true тогда и только тогда, когда аргумент не равен null и является объектом Integer, содержащим то же значение int, что и этот объект.getInteger
public static Integer getInteger(String nm)
Первый аргумент рассматривается как имя системного свойства. Доступ к системным свойствам осуществляется с помощью метода System.getProperty(java.lang.String). Затем строковое значение этого свойства интерпретируется как целочисленное значение с использованием грамматики, поддерживаемой методом decode, и возвращается объект Integer, представляющий это значение.
Если свойства с указанным именем нет, если указанное имя пусто или null либо если свойство имеет неправильный числовой формат, возвращается null.
Иными словами, этот метод возвращает объект Integer, равный значению выражения:
getInteger(nm, null)
- Параметры:
-
nm— имя свойства. - Возвращает:
- значение свойства типа
Integer. - См. также:
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. - См. также:
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. - См. также:
decode
public static Integer decode(String nm) throws NumberFormatException
String в Integer. Поддерживаются десятичные, шестнадцатеричные и восьмеричные числа, соответствующие следующей грамматике: DecimalNumeral, HexDigits и OctalDigits определены в разделе §3.10.1 документа Спецификация языка Java, за исключением того, что подчёркивания между цифрами не допускаются.
- DecodableString:
- Signopt DecimalNumeral
- Signopt
0xHexDigits- Signopt
0XHexDigits- Signopt
#HexDigits- Signopt
0OctalDigits- Sign:
-+
Последовательность символов после необязательного знака и/или спецификатора основания («0x», «0X», «#» или начальный ноль) разбирается методом
Integer.parseInt с указанным основанием (10, 16 или 8). Эта последовательность символов должна представлять положительное значение, иначе будет выброшено исключение NumberFormatException. Результат меняет знак на противоположный, если первым символом указанного
String является знак минуса. Пробельные символы в String не допускаются.
- Параметры:
-
nm—Stringдля преобразования. - Возвращает:
- объект
Integer, содержащий значениеint, представленноеnm - Выбрасывает:
-
NumberFormatException— еслиStringне содержит разбираемого целого числа. - См. также:
compareTo
public int compareTo(Integer anotherInteger)
Integer численно.- Указано в:
-
compareToв интерфейсеComparable<Integer> - Параметры:
-
anotherInteger—Integerдля сравнения. - Возвращает:
- значение
0, если этотIntegerравен аргументуInteger; значение меньше0, если этотIntegerчисленно меньше аргументаInteger; и значение больше0, если этотIntegerчисленно больше аргументаInteger(сравнение со знаком). - С версии:
- 1.2
compare
public static int compare(int x, int y)
int численно. Возвращаемое значение совпадает со значением, которое вернуло бы выражение: Integer.valueOf(x).compareTo(Integer.valueOf(y))
- Параметры:
-
x— первое значениеintдля сравнения -
y— второе значениеintдля сравнения - Возвращает:
- значение
0, еслиx == y; значение меньше0, еслиx < y; и значение больше0, еслиx > y - С версии:
- 1.7
compareUnsigned
public static int compareUnsigned(int x, int y)
int численно, рассматривая их как беззнаковые.- Параметры:
-
x— первое значениеintдля сравнения -
y— второе значениеintдля сравнения - Возвращает:
- значение
0, еслиx == y; значение меньше0, еслиx < yкак беззнаковые значения; и значение больше0, еслиx > yкак беззнаковые значения - С версии:
- 1.8
toUnsignedLong
public static long toUnsignedLong(int x)
long с помощью беззнакового преобразования. При беззнаковом преобразовании в long старшие 32 бита значения long равны нулю, а младшие 32 бита совпадают с битами целочисленного аргумента. Следовательно, нулевые и положительные значения int преобразуются в численно равные значения long, а отрицательные значения
int преобразуются в значения long, равные входному значению плюс 232.- Параметры:
-
x— значение для преобразования в беззнаковоеlong - Возвращает:
- аргумент, преобразованный в
longс помощью беззнакового преобразования - С версии:
- 1.8
divideUnsigned
public static int divideUnsigned(int dividend, int divisor)
Обратите внимание, что в арифметике с дополнительным кодом три другие основные арифметические операции — сложение, вычитание и умножение — побитно идентичны, если оба операнда рассматриваются как знаковые или как беззнаковые. Поэтому отдельные методы
addUnsigned и т. д. не предоставляются.
- Параметры:
-
dividend— делимое -
divisor— делитель - Возвращает:
- беззнаковое частное от деления первого аргумента на второй
- Выбрасывает:
-
ArithmeticException— если делитель равен нулю - С версии:
- 1.8
- См. также:
remainderUnsigned
public static int remainderUnsigned(int dividend, int divisor)
- Параметры:
-
dividend— делимое -
divisor— делитель - Возвращает:
- беззнаковый остаток от деления первого аргумента на второй
- Выбрасывает:
-
ArithmeticException— если делитель равен нулю - С версии:
- 1.8
- См. также:
highestOneBit
public static int highestOneBit(int i)
int не более чем с одним установленным битом, расположенным на месте старшего («самого левого») установленного бита указанного значения int. Возвращает ноль, если в двоичном представлении указанного значения в дополнительном коде нет установленных битов, то есть если оно равно нулю.- Параметры:
-
i— значение, для которого нужно вычислить позицию старшего установленного бита - Возвращает:
- значение
intс одним установленным битом на месте старшего установленного бита указанного значения либо ноль, если само указанное значение равно нулю. - С версии:
- 1.5
lowestOneBit
public static int lowestOneBit(int i)
int не более чем с одним установленным битом, расположенным на месте младшего («самого правого») установленного бита указанного значения int. Возвращает ноль, если в двоичном представлении указанного значения в дополнительном коде нет установленных битов, то есть если оно равно нулю.- Параметры:
-
i— значение, для которого нужно вычислить позицию младшего установленного бита - Возвращает:
- значение
intс одним установленным битом на месте младшего установленного бита указанного значения либо ноль, если само указанное значение равно нулю. - С версии:
- 1.5
numberOfLeadingZeros
public static int numberOfLeadingZeros(int i)
int в дополнительном коде. Возвращает 32, если в представлении указанного значения в дополнительном коде нет установленных битов, то есть если оно равно нулю. Обратите внимание, что этот метод тесно связан с логарифмом по основанию 2. Для всех положительных значений int x:
- floor(log2(x)) =
31 - numberOfLeadingZeros(x) - ceil(log2(x)) =
32 - numberOfLeadingZeros(x - 1)
- Параметры:
-
i— значение, для которого нужно вычислить количество ведущих нулей - Возвращает:
- количество нулевых битов перед старшим («самым левым») установленным битом в двоичном представлении указанного значения
intв дополнительном коде либо 32, если значение равно нулю. - С версии:
- 1.5
numberOfTrailingZeros
public static int numberOfTrailingZeros(int i)
int в дополнительном коде. Возвращает 32, если в представлении указанного значения в дополнительном коде нет установленных битов, то есть если оно равно нулю.- Параметры:
-
i— значение, для которого нужно вычислить количество завершающих нулей - Возвращает:
- количество нулевых битов после младшего («самого правого») установленного бита в двоичном представлении указанного значения
intв дополнительном коде либо 32, если значение равно нулю. - С версии:
- 1.5
bitCount
public static int bitCount(int i)
int в дополнительном коде. Эту функцию иногда называют подсчётом единичных битов.- Параметры:
-
i— значение, биты которого нужно подсчитать - Возвращает:
- количество установленных битов в двоичном представлении указанного значения
intв дополнительном коде. - С версии:
- 1.5
rotateLeft
public static int rotateLeft(int i, int distance)
int в дополнительном коде на заданное число битов. (Биты, сдвинутые за левый, или старший, край, возвращаются справа, или со стороны младших разрядов.) Обратите внимание, что циклический сдвиг влево на отрицательное расстояние эквивалентен циклическому сдвигу вправо: rotateLeft(val, -distance) == rotateRight(val,
distance). Также обратите внимание, что сдвиг на любое кратное 32 число битов ничего не меняет, поэтому можно игнорировать все биты расстояния сдвига, кроме последних пяти, даже если расстояние отрицательное: rotateLeft(val,
distance) == rotateLeft(val, distance & 0x1F).
- Параметры:
-
i— значение, биты которого нужно циклически сдвинуть влево -
distance— число позиций битового сдвига влево - Возвращает:
- значение, полученное циклическим сдвигом влево двоичного представления указанного значения
intв дополнительном коде на заданное число битов. - С версии:
- 1.5
rotateRight
public static int rotateRight(int i, int distance)
int в дополнительном коде на заданное число битов. (Биты, сдвинутые за правый, или младший, край, возвращаются слева, или со стороны старших разрядов.) Обратите внимание, что циклический сдвиг вправо на отрицательное расстояние эквивалентен циклическому сдвигу влево: rotateRight(val, -distance) == rotateLeft(val,
distance). Также обратите внимание, что сдвиг на любое кратное 32 число битов ничего не меняет, поэтому можно игнорировать все биты расстояния сдвига, кроме последних пяти, даже если расстояние отрицательное: rotateRight(val,
distance) == rotateRight(val, distance & 0x1F).
- Параметры:
-
i— значение, биты которого нужно циклически сдвинуть вправо -
distance— число позиций битового сдвига вправо - Возвращает:
- значение, полученное циклическим сдвигом вправо двоичного представления указанного значения
intв дополнительном коде на заданное число битов. - С версии:
- 1.5
reverse
public static int reverse(int i)
int в дополнительном коде.- Параметры:
-
i— значение для обращения - Возвращает:
- значение, полученное обращением порядка битов указанного значения
int. - С версии:
- 1.5
compress
public static int compress(int i, int mask)
int, i, в соответствии с заданной битовой маской. Для каждого установленного бита mb маски, от младшего к старшему, значение бита i в том же разряде, что и mb, последовательно присваивается сжатому значению, начиная с младшего разряда. Все оставшиеся старшие биты сжатого значения устанавливаются в ноль.
- Примечание к API:
- Рассмотрим простой случай сжатия цифр шестнадцатеричного значения: Начиная с младшей шестнадцатеричной цифры в позиции 0 справа, маска
// Compressing drink to food compress(0xCAFEBABE, 0xFF00FFF0) == 0xCABAB0xFF00FFF0выбирает шестнадцатеричные цифры в позициях 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
public static int expand(int i, int mask)
int, i, в соответствии с заданной битовой маской. Для каждого установленного бита mb маски, от младшего к старшему, следующее последовательное значение бита i, начиная с младшего бита, присваивается расширенному значению в том же разряде, что и mb. Все остальные оставшиеся биты расширенного значения устанавливаются в ноль.
- Примечание к API:
- Рассмотрим простой случай расширения цифр шестнадцатеричного значения: Начиная с младшей шестнадцатеричной цифры в позиции 0 справа, маска
expand(0x0000CABAB, 0xFF00FFF0) == 0xCA00BAB00xFF00FFF0выбирает первые пять шестнадцатеричных цифр значения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
- См. также:
signum
public static int signum(int i)
int. (Возвращаемое значение равно -1, если указанное значение отрицательно; 0, если оно равно нулю; и 1, если оно положительно.)- Параметры:
-
i— значение, для которого нужно вычислить signum - Возвращает:
- результат применения функции signum к указанному значению
int. - С версии:
- 1.5
reverseBytes
public static int reverseBytes(int i)
int в дополнительном коде.- Параметры:
-
i— значение, порядок байтов которого нужно обратить - Возвращает:
- значение, полученное обращением порядка байтов указанного значения
int. - С версии:
- 1.5
sum
public static int sum(int a, int b)
- Параметры:
-
a— первый операнд -
b— второй операнд - Возвращает:
- сумму
aиb - Начиная с:
- 1.8
- См. также:
max
public static int max(int a, int b)
int, как если бы был вызван метод Math.max.- Параметры:
-
a— первый операнд -
b— второй операнд - Возвращает:
- большее из
aиb - Начиная с:
- 1.8
- См. также:
min
public static int min(int a, int b)
int, как если бы был вызван метод Math.min.- Параметры:
-
a— первый операнд -
b— второй операнд - Возвращает:
- меньшее из
aиb - Начиная с:
- 1.8
- См. также:
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, 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.