Класс 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 |
Возвращает строковое представление аргумента integer как беззнакового целого числа в системе счисления с основанием 2. |
static String |
toHexString |
Возвращает строковое представление аргумента integer как беззнакового целого числа в системе счисления с основанием 16. |
static String |
toOctalString |
Возвращает строковое представление аргумента integer как беззнакового целого числа в системе счисления с основанием 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 при разборе с основанием системы счисления, заданным вторым аргументом. |
Подробное описание полей
MIN_VALUE
@Native public static final int MIN_VALUE
int: -231.- См. также:
MAX_VALUE
@Native public static final int MAX_VALUE
int: 231-1.- См. также:
TYPE
public static final Class<Integer> TYPE
Class, представляющий примитивный тип int.- Начиная с:
- 1.1
SIZE
@Native public static final int SIZE
int в двоичной форме с дополнением до двух.- Начиная с:
- 1.5
- См. также:
BYTES
public static final int BYTES
int в двоичной форме с дополнением до двух.- Начиная с:
- 1.8
- См. также:
Подробное описание конструкторов
Integer
@Deprecated(since="9") public Integer(int value)
valueOf(int), поскольку она, вероятно, обеспечивает значительно более эффективное использование памяти и времени.Integer, представляющий указанное значение int.- Параметры:
-
value— значение, которое будет представлено объектомInteger.
Integer
@Deprecated(since="9") public Integer(String s) throws NumberFormatException
int используйте parseInt(String), а для преобразования строки в объект Integer используйте valueOf(String).Integer, представляющий значение int, указанное параметром String. Строка преобразуется в значение int точно так же, как это делает метод parseInt с основанием системы счисления 10.- Параметры:
-
s—String, которое нужно преобразовать вInteger. - Выбрасывает:
-
NumberFormatException— еслиStringне содержит целое число, которое можно разобрать.
Подробное описание методов
toString
public static String toString(int i, int radix)
Если основание меньше Character.MIN_RADIX или больше Character.MAX_RADIX, вместо него используется основание 10.
Если первый аргумент отрицательный, первым символом результата будет знак минуса ASCII '-' ('\u002D'). Если первый аргумент неотрицательный, знак в результате отсутствует.
Остальные символы результата представляют модуль первого аргумента. Если модуль равен нулю, он представляется одним символом нуля '0' ('\u0030'); в противном случае первым символом представления модуля будет не ноль. В качестве цифр используются следующие символы ASCII:
0123456789abcdefghijklmnopqrstuvwxyz Это символы от '\u0030' до '\u0039' и от '\u0061' до '\u007A'. Если radix равно N, то первые N из этих символов используются в качестве цифр системы счисления с основанием N в указанном порядке. Таким образом, цифрами шестнадцатеричной системы счисления (с основанием 16) являются 0123456789abcdef. Если требуются заглавные буквы, к результату можно применить метод String.toUpperCase(): Integer.toString(n, 16).toUpperCase()
- Параметры:
-
i— целое число, которое нужно преобразовать в строку. -
radix— основание системы счисления для строкового представления. - Возвращает:
- строковое представление аргумента в указанной системе счисления.
- См. также:
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— делитель - Возвращает:
- беззнаковое частное от деления первого аргумента на второй
- Начиная с версии:
- 1.8
- См. также:
remainderUnsigned
public static int remainderUnsigned(int dividend, int divisor)
- Параметры:
-
dividend— делимое -
divisor— делитель - Возвращает:
- беззнаковый остаток от деления первого аргумента на второй
- Начиная с версии:
- 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— значение, знак которого требуется определить - Возвращает:
- знак указанного значения
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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/Integer.html