Класс Long
- Все реализуемые интерфейсы:
-
Serializable,Comparable<Long>,Constable,ConstantDesc
public final class Long extends Number implements Comparable<Long>, Constable, ConstantDesc
Long оборачивает значение примитивного типа
long в объект. Объект типа Long содержит единственное поле типа long. Кроме того, этот класс предоставляет несколько методов для преобразования long в String и String в
long, а также другие константы и методы, полезные при работе с long.
Это класс базируемый на значении; программисты должны рассматривать экземпляры, которые равны, как взаимозаменяемые и не должны использовать экземпляры для синхронизации, иначе может возникнуть непредсказуемое поведение. Например, в будущей версии синхронизация может завершиться неудачей.
Примечание к реализации: Реализации методов "битовых манипуляций" (таких как highestOneBit и numberOfTrailingZeros) основаны на материалах из книги Генри С. Уоррена-младшего "Hacker's Delight" (Addison Wesley, 2002).
- С:
- 1.0
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
BYTES |
Количество байтов, используемых для представления значения long в двоичной форме со знаком. |
static final long |
MAX_VALUE |
Константа, содержащая максимальное значение, которое может иметь long, 263-1. |
static final long |
MIN_VALUE |
Константа, содержащая минимальное значение, которое может иметь long, -263. |
static final int |
SIZE |
Количество битов, используемых для представления значения long в двоичной форме со знаком. |
static final Class |
TYPE |
Экземпляр Class , представляющий примитивный тип long. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
Long |
Устаревший, для удаления: Этот элемент API может быть удален в будущей версии. Использование этого конструктора редко уместно. |
Long |
Устаревший, для удаления: Этот элемент API может быть удален в будущей версии. Использование этого конструктора редко уместно. |
Краткое описание методов
| Modifier and Type | Method | Description |
|---|---|---|
static int |
bitCount |
Возвращает количество единичных битов в двоичном представлении числа со знаком, дополнением до двух, для указанного long значения. |
byte |
byteValue() |
Возвращает значение этого Long в виде byte после сужения примитивного преобразования. |
static int |
compare |
Сравнивает два long значения численно. |
int |
compareTo |
Сравнивает два объекта Long численно. |
static int |
compareUnsigned |
Сравнивает два long значения численно, рассматривая их как беззнаковые. |
static long |
compress |
Возвращает значение, полученное путем сжатия битов указанного long значения, i, в соответствии с заданной маской битов. |
static Long |
decode |
Декодирует String в Long. |
Optional |
describeConstable() |
Возвращает Optional, содержащий номинальный дескриптор для данного экземпляра, который является самим экземпляром. |
static long |
divideUnsigned |
Возвращает беззнаковое частное от деления первого аргумента на второй, где каждый аргумент и результат интерпретируются как беззнаковое значение. |
double |
doubleValue() |
Возвращает значение этого Long в виде double после расширяющего преобразования примитивов. |
boolean |
equals |
Сравнивает этот объект с указанным объектом. |
static long |
expand |
Возвращает значение, полученное путем расширения битов указанного long значения, i, в соответствии с заданной маской битов. |
float |
floatValue() |
Возвращает значение этого Long в виде float после расширяющего преобразования примитивов. |
static Long |
getLong |
Определяет значение системной переменной с заданным именем. |
static Long |
getLong |
Определяет значение системной переменной с заданным именем. |
static Long |
getLong |
Возвращает значение системной переменной с заданным именем. |
int |
hashCode() |
Возвращает хэш-код для этого Long. |
static int |
hashCode |
Возвращает хэш-код для long значения; совместимо с Long.hashCode(). |
static long |
highestOneBit |
Возвращает значение long с не более чем одним единичным битом в позиции старшего («левого») единичного бита в указанном long значении. |
int |
intValue() |
Возвращает значение этого Long как int после сужения примитивного преобразования. |
long |
longValue() |
Возвращает значение этого Long как long. |
static long |
lowestOneBit |
Возвращает значение long с не более чем одним единичным битом в позиции младшего («правого») единичного бита в указанном long значении. |
static long |
max |
Возвращает большее из двух long значений, как если бы вызывали Math.max. |
static long |
min |
Возвращает меньшее из двух long значений, как если бы вызывали Math.min. |
static int |
numberOfLeadingZeros |
Возвращает количество нулевых битов, предшествующих старшему («левому») единичному биту в двоичном представлении числа со знаком, дополнением до двух, для указанного long значения. |
static int |
numberOfTrailingZeros |
Возвращает количество нулевых битов, следующих за младшим («правым») единичным битом в двоичном представлении числа со знаком, дополнением до двух, для указанного long значения. |
static long |
parseLong |
Парсит аргумент CharSequence как знаковое long в указанной radix, начиная с указанного beginIndex и до endIndex - 1. |
static long |
parseLong |
Парсит строковый аргумент как знаковое десятичное long. |
static long |
parseLong |
Парсит строковый аргумент как знаковое long в системе счисления, заданной вторым аргументом. |
static long |
parseUnsignedLong |
Парсит аргумент CharSequence как беззнаковое long в указанной radix, начиная с указанного beginIndex и до endIndex - 1. |
static long |
parseUnsignedLong |
Парсит строковый аргумент как беззнаковое десятичное long. |
static long |
parseUnsignedLong |
Парсит строковый аргумент как беззнаковое long в системе счисления, заданной вторым аргументом. |
static long |
remainderUnsigned |
Возвращает беззнаковый остаток от деления первого аргумента на второй, где каждый аргумент и результат интерпретируются как беззнаковое значение. |
Long |
resolveConstantDesc |
Разрешает этот экземпляр как ConstantDesc, результатом чего является сам экземпляр. |
static long |
reverse |
Возвращает значение, полученное путем обратного порядка битов в двоичном представлении числа со знаком, дополнением до двух, для указанного long значения. |
static long |
reverseBytes |
Возвращает значение, полученное путем обратного порядка байтов в двоичном представлении числа со знаком, дополнением до двух, для указанного long значения. |
static long |
rotateLeft |
Возвращает значение, полученное путем циклического сдвига влево двоичного представления числа со знаком, дополнением до двух, для указанного long значения на указанное число битов. |
static long |
rotateRight |
Возвращает значение, полученное путем циклического сдвига вправо двоичного представления числа со знаком, дополнением до двух, для указанного long значения на указанное число битов. |
short |
shortValue() |
Возвращает значение этого Long в виде short после сужения примитивного преобразования. |
static int |
signum |
Возвращает функцию знака для указанного long значения. |
static long |
sum |
Складывает два long значения вместе в соответствии с оператором +. |
static String |
toBinaryString |
Возвращает строковое представление аргумента long как беззнаковое целое число в двоичной системе счисления. |
static String |
toHexString |
Возвращает строковое представление аргумента long как беззнаковое целое число в шестнадцатеричной системе счисления. |
static String |
toOctalString |
Возвращает строковое представление аргумента long как беззнаковое целое число в восьмеричной системе счисления. |
String |
toString() |
Возвращает объект String, представляющий значение этого Long. |
static String |
toString |
Возвращает объект String, представляющий указанное long. |
static String |
toString |
Возвращает строковое представление первого аргумента в системе счисления, заданной вторым аргументом. |
static String |
toUnsignedString |
Возвращает строковое представление аргумента в виде беззначного десятичного значения. |
static String |
toUnsignedString |
Возвращает строковое представление первого аргумента как беззначное целое значение в системе счисления, заданной вторым аргументом. |
static Long |
valueOf |
Возвращает экземпляр Long , представляющий указанное значение long. |
static Long |
valueOf |
Возвращает объект Long, содержащий значение указанного String. |
static Long |
valueOf |
Возвращает объект Long, содержащий значение, извлеченное из указанного String при разборе с основанием, заданным вторым аргументом. |
Подробное описание полей
MIN_VALUE
@Native public static final long MIN_VALUE
long, -263.- См. также:
MAX_VALUE
@Native public static final long MAX_VALUE
long, 263-1.- См. также:
TYPE
public static final Class<Long> TYPE
Class, представляющий примитивный тип long.- С момента:
- 1.1
SIZE
@Native public static final int SIZE
long в двоичной форме со знаком.- С момента:
- 1.5
- См. также:
BYTES
public static final int BYTES
long в двоичной форме со знаком.- С момента:
- 1.8
- См. также:
Подробное описание конструкторов
Long
@Deprecated(since="9", forRemoval=true) public Long(long value)
valueOf(long) обычно предпочтительнее, так как он, вероятно, обеспечит значительно лучшую производительность по памяти и времени.Long , представляющий указанное значение long.- Параметры:
-
value- значение, которое должен представлять объектLong.
Long
@Deprecated(since="9", forRemoval=true) public Long(String s) throws NumberFormatException
parseLong(String) для преобразования строки в примитивное значение long, или valueOf(String) для преобразования строки в объект Long.Long , представляющий значение long, указанное параметром String. Строка преобразуется в значение long точно так же, как и метод parseLong для основания 10.- Параметры:
-
s- строка, которая должна быть преобразована вLong. - Исключения:
-
NumberFormatException- если строка не содержит парсируемого значенияlong.
Подробное описание методов
toString
public static String toString(long i, int radix)
Если основание меньше Character.MIN_RADIX или больше Character.MAX_RADIX, то используется основание 10.
Если первый аргумент отрицательный, то первым элементом результата является ASCII символ минус '-' ('\u002d'). Если первый аргумент не отрицательный, символ знака в результате отсутствует.
Остальные символы результата представляют собой значение первого аргумента. Если значение равно нулю, оно представляется одиночным символом ноль '0' ('\u0030'); в противном случае, первый символ представления значения не будет символом ноль.
Следующие ASCII символы используются в качестве цифр:
0123456789abcdefghijklmnopqrstuvwxyz Это цифры от '\u0030' до '\u0039' и от '\u0061' до '\u007a'. Если используется основание N, то первые N символов используются в качестве цифр в указанном порядке. Например, цифры для шестнадцатеричной системы (основание 16) это 0123456789abcdef. Если требуются прописные буквы, можно вызвать метод String.toUpperCase() на результате: Long.toString(n, 16).toUpperCase()
- Параметры:
-
i-longдля преобразования в строку. -
radix- основание системы счисления для строкового представления. - Возвращает:
- Строковое представление аргумента в указанной системе счисления.
- См. также:
toUnsignedString
public static String toUnsignedString(long i, int radix)
Если основание меньше Character.MIN_RADIX или больше Character.MAX_RADIX, то используется основание 10.
Обратите внимание, что поскольку первый аргумент обрабатывается как беззнаковое значение, ведущий символ знака не выводится.
Если значение равно нулю, оно представляется одиночным символом ноль '0' ('\u0030'); в противном случае, первый символ представления значения не будет символом ноль.
Поведение оснований и символов, используемых в качестве цифр, совпадает с toString.
- Параметры:
-
i- целое число для преобразования в беззнаковую строку. -
radix- основание системы счисления для строкового представления. - Возвращает:
- Беззнаковое строковое представление аргумента в указанной системе счисления.
- С момента:
- 1.8
- См. также:
toHexString
public static String toHexString(long i)
long как беззнакового целого числа в шестнадцатеричной системе счисления. Беззнаковое значение long равно аргументу плюс 264, если аргумент отрицательный; иначе оно равно аргументу. Это значение преобразуется в строку ASCII цифр в шестнадцатеричной системе (основание 16) без дополнительных ведущих 0.
Значение аргумента можно восстановить из возвращаемой строки s, вызвав Long.parseUnsignedLong(s,
16).
Если беззнаковое значение равно нулю, оно представляется одиночным символом ноль '0' ('\u0030'); в противном случае, первый символ представления беззнакового значения не будет символом ноль.
Символы, используемые в качестве шестнадцатеричных цифр:
0123456789abcdef Это символы от '\u0030' до '\u0039' и от '\u0061' до '\u0066'. Если требуются прописные буквы, можно вызвать метод String.toUpperCase() на результате: Long.toHexString(n).toUpperCase()
- Примечание API:
- Класс
HexFormatпредоставляет форматирование и парсинг массивов байтов и примитивов для возвращения строки или добавления вAppendable.HexFormatформатирует и парсит шестнадцатеричные символы в верхнем или нижнем регистре, с ведущими нулями, и для массивов байтов включает для каждого байта разделитель, префикс и суффикс. - Параметры:
-
i-longдля преобразования в строку. - Возвращает:
- Строковое представление беззнакового значения
longаргумента в шестнадцатеричной системе (основание 16). - С момента:
- 1.0.2
- См. также:
toOctalString
public static String toOctalString(long i)
long как целого беззнакового числа в восьмеричной системе счисления.
Беззнаковое long значение равно аргументу плюс 264, если аргумент отрицательный; в противном случае оно равно аргументу. Это значение преобразуется в строку ASCII-цифр в восьмеричной системе счисления (основание 8) без дополнительных ведущих 0.
Значение аргумента может быть восстановлено из возвращаемой строки s, вызвав Long.parseUnsignedLong(s,
8).
Если беззнаковое значение равно нулю, оно представляется одной цифрой ноль '0' ('\u0030'); в противном случае первая цифра представления беззнакового значения не будет нулём. В качестве восьмеричных цифр используются следующие символы:
01234567
Эти символы от '\u0030' до '\u0037'.- Parameters:
-
i- alongдля преобразования в строку. - Returns:
- строковое представление беззнакового
longзначения, представленного аргументом в восьмеричной системе счисления (основание 8). - Since:
- 1.0.2
- See Also:
toBinaryString
public static String toBinaryString(long i)
long как целого беззнакового числа в двоичной системе счисления.
Беззнаковое long значение равно аргументу плюс 264, если аргумент отрицательный; в противном случае оно равно аргументу. Это значение преобразуется в строку ASCII-цифр в двоичной системе счисления (основание 2) без дополнительных ведущих 0.
Значение аргумента может быть восстановлено из возвращаемой строки s вызвав Long.parseUnsignedLong(s,
2).
Если беззнаковое значение равно нулю, оно представляется одной цифрой ноль '0' ('\u0030'); в противном случае первая цифра представления беззнакового значения не будет нулём. Символы '0' ('\u0030') и
'1' ('\u0031') используются в качестве двоичных цифр.
- Parameters:
-
i- alongto be converted to a string. - Returns:
- строковое представление беззнакового
longзначения, представленного аргументом в двоичной системе счисления (основание 2). - Since:
- 1.0.2
- See Also:
toString
public static String toString(long i)
String представляющий указанное long. Аргумент преобразуется в знаковое десятичное представление и возвращается в виде строки, точно так же, как если бы аргумент и основание 10 были переданы в метод toString(long, int).- Parameters:
-
i- alongto be converted. - Returns:
- строковое представление аргумента в десятичной системе счисления.
toUnsignedString
public static String toUnsignedString(long i)
toUnsignedString(long, int).- Parameters:
-
i- целое число для преобразования в беззнаковую строку. - Returns:
- беззнаковое строковое представление аргумента.
- Since:
- 1.8
- See Also:
parseLong
public static long parseLong(String s, int radix) throws NumberFormatException
long в указанной системе счисления, определяемой вторым аргументом. Символы в строке должны быть цифрами указанной системы счисления (как определено тем, возвращает ли Character.digit(char, int) положительное значение), за исключением того, что первый символ может быть ASCII-знаком минус '-' ('\u002D') для указания отрицательного значения или ASCII-знаком плюс '+' ('\u002B') для указания положительного значения. Возвращается полученное long значение.
Обратите внимание, что ни символ L ('\u004C') ни l ('\u006C') не допускаются в конце строки в качестве указателя типа, как это допускается в исходном коде языка программирования Java — за исключением того, что L или l могут появиться как цифры для основания, большего или равного 22.
Исключение типа NumberFormatException выбрасывается, если происходит любой из следующих случаев:
- Первый аргумент равен null или является строкой длины ноль.
- Основание меньше
Character.MIN_RADIXили большеCharacter.MAX_RADIX. - Любой символ строки не является цифрой указанной системы счисления, за исключением того, что первый символ может быть знаком минус
'-'('\u002d') или знаком плюс'+'('\u002B') при условии, что строка длиннее 1. - Значение, представленное строкой, не является значением типа
long.
Примеры:
parseLong("0", 10) returns 0L
parseLong("473", 10) returns 473L
parseLong("+42", 10) returns 42L
parseLong("-0", 10) returns 0L
parseLong("-FF", 16) returns -255L
parseLong("1100110", 2) returns 102L
parseLong("99", 8) throws a NumberFormatException
parseLong("Hazelnut", 10) throws a NumberFormatException
parseLong("Hazelnut", 36) returns 1356099454469L
- Parameters:
-
s- theStringсодержащийlongпредставление для парсинга. -
radix- основание, используемое при парсингеs. - Returns:
- знаковое
longпредставленное строковым аргументом в указанной системе счисления. - Throws:
-
NumberFormatException- если строка не содержит парсируемоеlong.
parseLong
public static long parseLong(CharSequence s, int beginIndex, int endIndex, int radix) throws NumberFormatException
CharSequence как знаковое long в указанной системе radix, начиная с указанного beginIndex и до endIndex - 1.
Метод не предпринимает мер для защиты от изменения CharSequence во время парсинга.
- Parameters:
-
s- theCharSequenceсодержащийlongпредставление для парсинга -
beginIndex- начальный индекс (включительно). -
endIndex- конечный индекс (исключительно). -
radix- основание, используемое при парсингеs. - Returns:
- знаковое
longпредставленное подстрокой в указанной системе счисления. - Throws:
-
NullPointerException- еслиsравно null. -
IndexOutOfBoundsException- еслиbeginIndexотрицательно, или еслиbeginIndexбольшеendIndexили еслиendIndexбольшеs.length(). -
NumberFormatException- еслиCharSequenceне содержит парсируемоеlongв указанной системеradix, или еслиradixменьшеCharacter.MIN_RADIXили большеCharacter.MAX_RADIX. - Since:
- 9
parseLong
public static long parseLong(String s) throws NumberFormatException
long. Символы в строке должны быть десятичными цифрами, за исключением того, что первый символ может быть ASCII-знаком минус '-' (\u002D') для указания отрицательного значения или ASCII-знаком плюс '+' ('\u002B') для указания положительного значения. Полученное long значение возвращается, точно так же, как если бы аргумент и основание 10 были переданы в метод parseLong(java.lang.String, int).
Обратите внимание, что ни символ L ('\u004C') ни l ('\u006C') не допускаются в конце строки в качестве указателя типа, как это допускается в исходном коде языка программирования Java.
- Parameters:
-
s- aStringсодержащийlongпредставление для парсинга - Returns:
- знаковое
longпредставленное аргументом в десятичной системе счисления. - Throws:
-
NumberFormatException- если строка не содержит парсируемоеlong.
parseUnsignedLong
public static long parseUnsignedLong(String s, int radix) throws NumberFormatException
MAX_VALUE. Символы в строке должны быть цифрами указанного основания (как определено тем, возвращает ли Character.digit(char, int) ненулевое значение), за исключением того, что первый символ может быть ASCII плюс знаком '+' ('\u002B'). Возвращается полученное целое значение. Исключение типа NumberFormatException выбрасывается, если происходит любой из следующих случаев:
- Первый аргумент —
nullили строка нулевой длины. - Основание меньше
Character.MIN_RADIXили большеCharacter.MAX_RADIX. - Любой символ строки не является цифрой заданного основания, за исключением первого символа, который может быть знаком плюс
'+'('\u002B') при условии, что длина строки больше 1. - Представленное в строке значение больше наибольшего беззнакового целого числа, 264-1.
- Parameters:
-
s- theStringсодержащая представление беззнакового целого числа для парсинга -
radix- основание, используемое при парсингеs. - Returns:
- беззнаковое целое число, представленное строковым аргументом в заданном основании.
- Throws:
-
NumberFormatException- еслиStringне содержит парсируемого беззнакового целого числа. - Since:
- 1.8
parseUnsignedLong
public static long parseUnsignedLong(CharSequence s, int beginIndex, int endIndex, int radix) throws NumberFormatException
CharSequence как беззнаковое целое число в заданном radix, начиная с указанного beginIndex и до endIndex - 1. Метод не предпринимает мер для защиты от изменения CharSequence во время парсинга.
- Parameters:
-
s- theCharSequenceсодержащая представление беззнакового целого числа для парсинга -
beginIndex- начальный индекс, включительно. -
endIndex- конечный индекс, исключая. -
radix- основание, используемое при парсингеs. - Returns:
- беззнаковое целое число, представленное подпоследовательностью в заданном основании.
- Throws:
-
NullPointerException- еслиsравно null. -
IndexOutOfBoundsException- еслиbeginIndexотрицательно, или еслиbeginIndexбольшеendIndexили еслиendIndexбольшеs.length(). -
NumberFormatException- еслиCharSequenceне содержит парсируемого беззнакового целого числа в заданномradix, или еслиradixменьшеCharacter.MIN_RADIXили большеCharacter.MAX_RADIX. - Since:
- 9
parseUnsignedLong
public static long parseUnsignedLong(String s) throws NumberFormatException
'+' ('\u002B'). Полученное целое значение возвращается точно так же, как если бы аргумент и основание 10 были переданы в метод parseUnsignedLong(java.lang.String, int).- Parameters:
-
s- aStringсодержащая представление беззнакового целого числа для парсинга - Returns:
- значение беззнакового целого числа, представленное десятичной строкой-аргументом
- Throws:
-
NumberFormatException- если строка не содержит парсируемого беззнакового целого числа. - Since:
- 1.8
valueOf
public static Long valueOf(String s, int radix) throws NumberFormatException
Long, содержащий значение, полученное из указанной String при парсинге с основанием, заданным вторым аргументом. Первый аргумент интерпретируется как представляющий знаковое целое число в основании, заданном вторым аргументом, точно так же, как если бы аргументы были переданы методу parseLong(java.lang.String, int). Результатом является объект типа Long , представляющий значение long , заданное в строке. Другими словами, этот метод возвращает объект типа Long равный значению:
Long.valueOf(Long.parseLong(s, radix))
- Parameters:
-
s- строка для парсинга -
radix- основание, используемое при интерпретацииs - Returns:
- объект типа
Long, содержащий значение, представленное строковым аргументом в заданном основании. - Throws:
-
NumberFormatException- ЕслиStringне содержит парсируемогоlong.
valueOf
public static Long valueOf(String s) throws NumberFormatException
Long, содержащий значение указанной String. Аргумент интерпретируется как представляющий знаковое десятичное целое число, точно так же, как если бы аргумент был передан методу parseLong(java.lang.String). Результатом является объект типа Long , представляющий целое значение, заданное в строке. Другими словами, этот метод возвращает объект типа Long равный значению:
Long.valueOf(Long.parseLong(s))
- Parameters:
-
s- строка для парсинга. - Returns:
- объект типа
Long, содержащий значение, представленное строковым аргументом. - Throws:
-
NumberFormatException- Если строка не может быть обработана какlong.
valueOf
public static Long valueOf(long l)
Long , представляющий заданное значение long. Если новый экземпляр Long не требуется, этот метод следует предпочитать конструктору Long(long), так как он, вероятно, обеспечит значительно лучшую производительность в плане памяти и времени, кэшируя часто запрашиваемые значения. Этот метод всегда будет кэшировать значения в диапазоне от -128 до 127 включительно и может кэшировать другие значения за пределами этого диапазона.- Parameters:
-
l- значение long. - Returns:
- экземпляр типа
Long, представляющийl. - Since:
- 1.5
decode
public static Long decode(String nm) throws NumberFormatException
ДесятичноеЧисло, ШестнадцатеричныеЦифры и ВосьмеричныеЦифры определены в разделе 3.10.1 спецификации языка Java, за исключением того, что подчёркивания между цифрами не допускаются.
- ДекодируемаяСтрока:
- Знакопц ДесятичноеЧисло
- Знакопц
0xШестнадцатеричныеЦифры- Знакопц
0XШестнадцатеричныеЦифры- Знакопц
#ШестнадцатеричныеЦифры- Знакопц
0ВосьмеричныеЦифры- Знак:
-+
Последовательность символов после необязательного знака и/или спецификатора основания ("0x", "0X", "#" или ведущий ноль) парсится методом
Long.parseLong с указанным основанием (10, 16 или 8). Эта последовательность символов должна представлять положительное значение, иначе будет выброшено исключение NumberFormatException. Результат умножается на -1, если первый символ указанной String является знаком минус. В String не допускаются пробелы.
- Parameters:
-
nm- theStringto decode. - Returns:
- объект типа
Long, содержащий значениеlong, представленноеnm - Throws:
-
NumberFormatException- еслиStringне содержит парсируемогоlong. - Since:
- 1.2
- See Also:
byteValue
public byte byteValue()
- Overrides:
-
byteValuein classNumber - Returns:
- числовое значение, представленное этим объектом после преобразования к типу
byte. - See Java Language Specification:
- 5.1.3 Narrowing Primitive Conversion
shortValue
public short shortValue()
Long в виде short после преобразования сужающего примитива.- Overrides:
-
shortValueв классеNumber - Возвращает:
- числовое значение, представленное этим объектом после преобразования в тип
short. - См. Спецификацию языка Java:
- 5.1.3 Преобразование сужающего примитива
intValue
public int intValue()
Long как int после преобразования сужающего примитива.- Specified by:
-
intValueв классеNumber - Возвращает:
- числовое значение, представленное этим объектом после преобразования в тип
int. - См. Спецификацию языка Java:
- 5.1.3 Преобразование сужающего примитива
longValue
public long longValue()
Long как значение long.- Specified by:
-
longValueв классеNumber - Возвращает:
- числовое значение, представленное этим объектом после преобразования в тип
long.
floatValue
public float floatValue()
Long как float после преобразования расширяющего примитива.- Specified by:
-
floatValueв классеNumber - Возвращает:
- числовое значение, представленное этим объектом после преобразования в тип
float. - См. Спецификацию языка Java:
- 5.1.2 Преобразование расширяющего примитива
doubleValue
public double doubleValue()
Long как double после преобразования расширяющего примитива.- Specified by:
-
doubleValueв классеNumber - Возвращает:
- числовое значение, представленное этим объектом после преобразования в тип
double. - См. Спецификацию языка Java:
- 5.1.2 Преобразование расширяющего примитива
toString
public String toString()
String, представляющий значение этого Long. Значение преобразуется в знаковое десятичное представление и возвращается в виде строки, точно так же, как если бы значение long было передано в качестве аргумента методу toString(long).- Overrides:
-
toStringв классеObject - Возвращает:
- строковое представление значения этого объекта в системе счисления по основанию 10.
hashCode
public int hashCode()
Long. Результатом является исключающее ИЛИ двух половин значения примитива long, хранящегося в этом объекте Long . То есть, хэш-код равен значению выражения: (int)(this.longValue()^(this.longValue()>>>32))
- Overrides:
-
hashCodeв классеObject - Возвращает:
- значение хэш-кода для этого объекта.
- См. также:
hashCode
public static int hashCode(long value)
long; совместимо с Long.hashCode().- Параметры:
-
value- значение для хэширования - Возвращает:
- значение хэш-кода для значения
long. - Since:
- 1.8
equals
public boolean equals(Object obj)
true тогда и только тогда, когда аргумент не null и является объектом Long , содержащим то же значение long , что и этот объект.- Overrides:
-
equalsв классеObject - Параметры:
-
obj- объект для сравнения. - Возвращает:
-
true, если объекты одинаковы;falseв противном случае. - См. также:
getLong
public static Long getLong(String nm)
long системной переменной с указанным именем. Первый аргумент обрабатывается как имя системной переменной. Доступ к системным переменным осуществляется через метод System.getProperty(java.lang.String). Строковое значение этой переменной затем интерпретируется как значение
long с использованием грамматики, поддерживаемой decode, и возвращается объект Long , представляющий это значение.
Если переменной с указанным именем нет, если указанное имя пустое или null, или если переменная не имеет правильного числового формата, то возвращается null .
Другими словами, этот метод возвращает объект Long , равный значению:
getLong(nm, null)
- Параметры:
-
nm- имя переменной. - Возвращает:
- значение
Longпеременной. - ИСКЛЮЧЕНИЯ:
-
SecurityException- по тем же причинам, что иSystem.getProperty - См. также:
getLong
public static Long getLong(String nm, long val)
long системной переменной с указанным именем. Первый аргумент обрабатывается как имя системной переменной. Доступ к системным переменным осуществляется через метод System.getProperty(java.lang.String). Строковое значение этой переменной затем интерпретируется как значение
long с использованием грамматики, поддерживаемой decode, и возвращается объект Long , представляющий это значение.
Второй аргумент — значение по умолчанию. Объект Long , представляющий значение второго аргумента, возвращается, если переменной с указанным именем нет, если переменная не имеет правильного числового формата или если указанное имя пустое или null.
Другими словами, этот метод возвращает объект Long , равный значению:
getLong(nm, Long.valueOf(val)) но на практике он может быть реализован таким образом: , чтобы избежать ненужного выделения объектаLong result = getLong(nm, null); return (result == null) ? Long.valueOf(val) : result;
Long при отсутствии необходимости в значении по умолчанию.- Параметры:
-
nm- имя переменной. -
val- значение по умолчанию. - Возвращает:
- значение
Longпеременной. - ИСКЛЮЧЕНИЯ:
-
SecurityException- по тем же причинам, что иSystem.getProperty - См. также:
getLong
public static Long getLong(String nm, Long val)
System.getProperty(java.lang.String). Строковое значение этой переменной затем интерпретируется как целочисленное значение, согласно методу decode, и возвращается объект Long, представляющий это значение; в кратце: - Если значение переменной начинается с двух ASCII символов
0xили ASCII символа#, не следующих за знаком минус, то остальная часть анализируется как шестнадцатеричное целое число точно так же, как для методаvalueOf(java.lang.String, int)с основанием 16. - Если значение переменной начинается с ASCII символа
0, за которым следует другой символ, то оно анализируется как восьмеричное целое число точно так же, как методомvalueOf(java.lang.String, int)с основанием 8. - В противном случае значение переменной анализируется как десятичное целое число точно так же, как методом
valueOf(java.lang.String, int)с основанием 10.
Обратите внимание, что в каждом случае ни L ('\u004C') ни l ('\u006C') не разрешается появляться в конце значения переменной в качестве указателя типа, как это было бы разрешено в исходном коде языка программирования Java.
Второй аргумент — это значение по умолчанию. Значение по умолчанию возвращается, если нет переменной с указанным именем, если переменная не имеет правильного числового формата, или если указанное имя пустое или null.
- Parameters:
-
nm- имя переменной. -
val- значение по умолчанию. - Returns:
- значение переменной типа Long.
- Throws:
-
SecurityException- по тем же причинам, что иSystem.getProperty - See Also:
compareTo
public int compareTo(Long anotherLong)
- Specified by:
-
compareToв интерфейсеComparable<Long> - Parameters:
-
anotherLong- сравниваемый объект Long. - Returns:
- значение 0, если этот объект Long равен аргументу; значение меньше 0, если этот объект Long численно меньше аргумента; и значение больше 0, если этот объект Long численно больше аргумента (сравнение со знаком).
- Since:
- 1.2
compare
public static int compare(long x, long y)
Long.valueOf(x).compareTo(Long.valueOf(y))
- Parameters:
-
x- первое значение long для сравнения -
y- второе значение long для сравнения - Returns:
- значение 0, если значения равны; значение меньше 0, если первое значение меньше второго; и значение больше 0, если первое значение больше второго.
- Since:
- 1.7
compareUnsigned
public static int compareUnsigned(long x, long y)
- Parameters:
-
x- первое значение long для сравнения -
y- второе значение long для сравнения - Returns:
- значение 0, если значения равны; значение меньше 0, если первое значение меньше второго как беззнаковые значения; и значение больше 0, если первое значение больше второго как беззнаковые значения
- Since:
- 1.8
divideUnsigned
public static long divideUnsigned(long dividend, long divisor)
Обратите внимание, что в арифметике со знаком минус три другие основные арифметические операции сложения, вычитания и умножения поразрядны одинаковы, если оба операнда рассматриваются как со знаком или без знака. Поэтому отдельные методы
addUnsigned, и т. д., не предоставляются.
- Parameters:
-
dividend- делимое -
divisor- делитель - Returns:
- беззнаковое частное от деления первого аргумента на второй аргумент
- Since:
- 1.8
- See Also:
remainderUnsigned
public static long remainderUnsigned(long dividend, long divisor)
- Parameters:
-
dividend- делимое -
divisor- делитель - Returns:
- беззнаковый остаток от деления первого аргумента на второй аргумент
- Since:
- 1.8
- See Also:
highestOneBit
public static long highestOneBit(long i)
- Parameters:
-
i- значение, для которого требуется вычислить старший установленный бит - Returns:
- значение long с одним установленным битом, в позиции старшего установленного бита в заданном значении или ноль, если заданное значение само равно нулю.
- Since:
- 1.5
lowestOneBit
public static long lowestOneBit(long i)
- Parameters:
-
i- значение, для которого требуется вычислить младший установленный бит - Returns:
- значение long с одним установленным битом, в позиции младшего установленного бита в заданном значении или ноль, если заданное значение само равно нулю.
- Since:
- 1.5
numberOfLeadingZeros
public static int numberOfLeadingZeros(long i)
Обратите внимание, что этот метод тесно связан с логарифмом по основанию 2. Для всех положительных значений long x:
- floor(log2(x)) =
63 - numberOfLeadingZeros(x) - ceil(log2(x)) =
64 - numberOfLeadingZeros(x - 1)
- Parameters:
-
i- значение, для которого требуется подсчитать количество старших нулевых битов - Returns:
- количество нулевых битов, предшествующих старшему (самому левому) установленному биту в двоичном представлении со знаком минус заданного значения long, или 64, если значение равно нулю.
- Since:
- 1.5
numberOfTrailingZeros
public static int numberOfTrailingZeros(long i)
- Parameters:
-
i- значение, для которого требуется подсчитать количество младших нулевых битов - Returns:
- количество нулевых битов, следующих за младшим (самым правым) установленным битом в двоичном представлении со знаком минус заданного значения long, или 64, если значение равно нулю.
- Since:
- 1.5
bitCount
public static int bitCount(long i)
- Parameters:
-
i- значение, биты которого нужно посчитать - Returns:
- количество единичных битов в двоичном представлении со знаком минус заданного значения long.
- Since:
- 1.5
rotateLeft
public static long rotateLeft(long i, int distance)
long значение, на заданное количество разрядов. (Выведенные слева разряды, или старшего порядка, возвращаются справа, или младшего порядка.) Обратите внимание, что циклический сдвиг влево с отрицательным значением расстояния эквивалентен циклическому сдвигу вправо: rotateLeft(val, -distance) == rotateRight(val,
distance). Также обратите внимание, что сдвиг на любое кратное 64 — это пустая операция, поэтому все, кроме последних шести разрядов, расстояния сдвига можно игнорировать, даже если расстояние отрицательное: rotateLeft(val,
distance) == rotateLeft(val, distance & 0x3F).
- Parameters:
-
i- значение, биты которого нужно циклически сдвинуть влево -
distance- количество позиций разрядов для циклического сдвига влево - Returns:
- значение, полученное путём циклического сдвига влево битового представления числа со знаком в дополнительном коде, заданного
longзначение, на заданное количество разрядов. - Since:
- 1.5
rotateRight
public static long rotateRight(long i, int distance)
long значение, на заданное количество разрядов. (Выведенные справа разряды, или младшего порядка, возвращаются слева, или старшего порядка.) Обратите внимание, что циклический сдвиг вправо с отрицательным значением расстояния эквивалентен циклическому сдвигу влево: rotateRight(val, -distance) == rotateLeft(val,
distance). Также обратите внимание, что сдвиг на любое кратное 64 — это пустая операция, поэтому все, кроме последних шести разрядов, расстояния сдвига можно игнорировать, даже если расстояние отрицательное: rotateRight(val,
distance) == rotateRight(val, distance & 0x3F).
- Parameters:
-
i- значение, биты которого нужно циклически сдвинуть вправо -
distance- количество позиций разрядов для циклического сдвига вправо - Returns:
- значение, полученное путём циклического сдвига вправо битового представления числа со знаком в дополнительном коде, заданного
longзначение, на заданное количество разрядов. - Since:
- 1.5
reverse
public static long reverse(long i)
long значения.- Parameters:
-
i- значение, которое нужно перевернуть - Returns:
- значение, полученное путём обратного порядка битов в заданном
longзначении. - Since:
- 1.5
compress
public static long compress(long i, long mask)
long значения, i, в соответствии с заданной битовой маской. Для каждого одного бита mb маски, от младшего к старшему, значение бита i в той же позиции, что и mb присваивается сжатому значению, начиная с младшего бита. Все остальные старшие биты сжатого значения устанавливаются в ноль.
- API Note:
- Рассмотрим простой случай сжатия цифр шестнадцатеричного значения: Начиная с младшей шестнадцатеричной цифры в позиции 0 справа, маска
// Compressing drink to food compress(0xCAFEBABEL, 0xFF00FFF0L) == 0xCABABL0xFF00FFF0выбирает шестнадцатеричные цифры в позициях 1, 2, 3, 6 и 7 от0xCAFEBABE. Выбранные цифры появляются в результирующем сжатом значении по порядку, начиная с позиции цифры 0 в том же порядке.Следующие тождества возвращают
trueи помогают понять поведениеcompress:// Returns 1 if the bit at position n is one compress(x, 1L << n) == (x >> n & 1) // Logical shift right compress(x, -1L << 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 : (1L << 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) может быть реализована следующим образом:
long compressLeft(long i, long mask) { // This implementation follows the description in Hacker's Delight which // is informative. A more optimal implementation is: // Long.compress(i, mask) << -Long.bitCount(mask) return Long.reverse( Long.compress(Long.reverse(i), Long.reverse(mask))); } long sag(long i, long mask) { return compressLeft(i, mask) | Long.compress(i, ~mask); } // Separate the sheep from the goats sag(0x00000000_CAFEBABEL, 0xFFFFFFFF_FF00FFF0L) == 0x00000000_CABABFEEL - Parameters:
-
i- значение, биты которого нужно сжать -
mask- битовая маска - Returns:
- сжатое значение
- Since:
- 19
- See Also:
expand
public static long expand(long i, long mask)
long значения, i, в соответствии с заданной битовой маской. Для каждого одного бита mb маски, от младшего к старшему, следующее смежное значение бита i, начиная с младшего бита, присваивается расширенному значению в той же позиции, что и mb. Все остальные биты расширенного значения устанавливаются в ноль.
- API Note:
- Рассмотрим простой случай расширения цифр шестнадцатеричного значения: Начиная с младшей шестнадцатеричной цифры в позиции 0 справа, маска
expand(0x0000CABABL, 0xFF00FFF0L) == 0xCA00BAB0L0xFF00FFF0выбирает первые пять шестнадцатеричных цифр от0x0000CABAB. Выбранные цифры в результирующем расширенном значении расположены в порядке в позициях 1, 2, 3, 6 и 7.Следующие тождества возвращают
trueи помогают понять поведениеexpand:// Logically shift right the bit at position 0 expand(x, 1L << n) == (x & 1) << n // Logically shift right expand(x, -1L << n) == x << n // Expanding all bits returns the mask expand(-1L, 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вlongзначении может быть реализована следующим образом:long select(long i, long n) { // the one-bit in i (the mask) with index n long nthBit = Long.expand(1L << n, i); // the bit position of the one-bit with index n return Long.numberOfTrailingZeros(nthBit); } // The one-bit with index 0 is at bit position 1 select(0b10101010_10101010, 0) == 1 // The one-bit with index 3 is at bit position 7 select(0b10101010_10101010, 3) == 7 - Parameters:
-
i- значение, биты которого нужно расширить -
mask- битовая маска - Returns:
- расширенное значение
- Since:
- 19
- See Also:
signum
public static int signum(long i)
long значения. (Возвращаемое значение равно -1, если заданное значение отрицательное; 0, если заданное значение равно нулю; и 1, если заданное значение положительное.)- Parameters:
-
i- значение, для которого нужно вычислить функцию signum - Returns:
- функция signum для заданного
longзначения. - Since:
- 1.5
reverseBytes
public static long reverseBytes(long i)
long значения.- Parameters:
-
i- значение, байты которого нужно перевернуть - Returns:
- значение, полученное путём обратного порядка байтов в заданном
longзначении. - Since:
- 1.5
sum
public static long sum(long a, long b)
long значения, как при использовании оператора +.- Parameters:
-
a- первый операнд -
b- второй операнд - Returns:
- сумма
aиb - Since:
- 1.8
- See Also:
max
public static long max(long a, long b)
long значений, как будто вызывается Math.max.- Parameters:
-
a- первый операнд -
b- второй операнд - Returns:
- большее из
aиb - Since:
- 1.8
- See Also:
min
public static long min(long a, long b)
long значений, как будто вызывается Math.min.- Parameters:
-
a- первый операнд -
b- второй операнд - Returns:
- меньшее из
aиb - Since:
- 1.8
- See Also:
describeConstable
public Optional<Long> describeConstable()
Optional, содержащий номинальный дескриптор для этого экземпляра, который является самим экземпляром.- Specified by:
-
describeConstableв интерфейсеConstable - Returns:
Optional, описывающий экземпляр Long- Since:
- 12
resolveConstantDesc
public Long resolveConstantDesc(MethodHandles.Lookup lookup)
ConstantDesc, результатом чего является сам экземпляр.- Specified by:
-
resolveConstantDescв интерфейсеConstantDesc - Parameters:
-
lookup- игнорируется - Returns:
- экземпляр Long
- Since:
- 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/Long.html