Класс 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) основаны на материалах из книги Генри С. Уоррена, младшего «Хакерская радость» (Addison Wesley, 2002) и «Хакерская радость, второе издание» (Pearson Education, 2013).
- С:
- 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 может быть удалён в будущей версии. Использование этого конструктора редко уместно. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
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)
Если radix меньше Character.MIN_RADIX или больше Character.MAX_RADIX, используется radix 10.
Если первый аргумент отрицательный, первой частью результата является ASCII символ минус '-' ('\u002d'). Если первый аргумент не отрицательный, символ знака в результате не появляется.
Остальные символы результата представляют абсолютное значение первого аргумента. Если абсолютное значение равно нулю, оно представлено одиночным символом нуля '0' ('\u0030'); в противном случае, первый символ представления абсолютного значения не будет символом нуля. В качестве цифр используются следующие ASCII символы:
0123456789abcdefghijklmnopqrstuvwxyz Это символы '\u0030' до '\u0039' и '\u0061' до '\u007a'. Если radix = N, то первые N из этих символов используются в качестве цифр в radix-N в указанном порядке. Например, цифры для шестнадцатеричной системы (radix 16) — 0123456789abcdef. Если желательны заглавные буквы, можно вызвать метод String.toUpperCase() на результате: Long.toString(n, 16).toUpperCase()
- Параметры:
-
i-long, который нужно преобразовать в строку. -
radix- система счисления для строкового представления. - Возвращает:
- строковое представление аргумента в указанной системе счисления.
- См. также:
toUnsignedString
public static String toUnsignedString(long i, int radix)
Если radix меньше Character.MIN_RADIX или больше Character.MAX_RADIX, используется radix 10.
Обратите внимание, что так как первый аргумент рассматривается как беззнаковое значение, ведущий знак не выводится.
Если абсолютное значение равно нулю, оно представлено одиночным символом нуля '0' ('\u0030'); в противном случае, первый символ представления абсолютного значения не будет символом нуля.
Поведение radix и символов, используемых как цифры, аналогично toString.
- Параметры:
-
i- целое число, которое нужно преобразовать в беззнаковую строку. -
radix- система счисления для строкового представления. - Возвращает:
- беззнаковое строковое представление аргумента в указанной системе счисления.
- С:
- 1.8
- См. также:
toHexString
public static String toHexString(long i)
long как беззнакового целого числа в шестнадцатеричной системе. Беззнаковое значение long равно аргументу плюс 264, если аргумент отрицательный; в противном случае оно равно аргументу. Это значение преобразуется в строку ASCII-символов в шестнадцатеричной (основание 16) системе без дополнительных ведущих нулей.
Значение аргумента можно восстановить из возвращаемой строки 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'.- Параметры:
-
i- значениеlong, которое необходимо преобразовать в строку. - Возвращает:
- строковое представление значения без знака
long, представленного в восьмеричной системе счисления (основание 8). - С:
- 1.0.2
- См. также:
toBinaryString
public static String toBinaryString(long i)
long как целого без знака в двоичной системе счисления. Значение без знака long равно аргументу, увеличенному на 264, если аргумент отрицательный; в противном случае оно равно аргументу. Это значение преобразуется в строку ASCII-цифр в двоичной системе счисления (основание 2) без дополнительных ведущих 0.
Значение аргумента можно восстановить из возвращаемой строки s, вызвав метод Long.parseUnsignedLong(s,
2).
Если значение без знака равно нулю, оно представляется одной цифрой ноль '0' ('\u0030'); в противном случае первая цифра представления значения без знака не будет цифрой ноль. Символы '0' ('\u0030') и
'1' ('\u0031') используются как двоичные цифры.
- Параметры:
-
i- значениеlong, которое необходимо преобразовать в строку. - Возвращает:
- строковое представление значения без знака
long, представленного в двоичной системе счисления (основание 2). - С:
- 1.0.2
- См. также:
toString
public static String toString(long i)
String, представляющий указанное значение long. Аргумент преобразуется в знаковое десятичное представление и возвращается как строка, точно так же, как если бы аргумент и основание 10 были переданы в качестве аргументов методу toString(long, int).- Параметры:
-
i- значениеlongдля преобразования. - Возвращает:
- строковое представление аргумента в десятичной системе счисления.
toUnsignedString
public static String toUnsignedString(long i)
toUnsignedString(long, int).- Параметры:
-
i- целое число, которое необходимо преобразовать в строку без знака. - Возвращает:
- строковое представление аргумента без знака.
- С:
- 1.8
- См. также:
parseLong
public static long parseLong(String s, int radix) throws NumberFormatException
Character.digit(char, int) неотрицательное значение), за исключением того, что первый символ может быть ASCII-знаком минус '-' ('\u002D') для указания отрицательного значения или ASCII-знаком плюс '+' ('\u002B') для указания положительного значения. Результирующее целое значение возвращается. Обратите внимание, что ни символ L ('\u004C'), ни l ('\u006C') не допускаются в конце строки в качестве индикатора типа, как это разрешено в исходном коде языка программирования Java – за исключением того, что либо L, либо l могут появиться в качестве цифры для системы счисления, большей или равной 22.
Исключение типа NumberFormatException выбрасывается в следующих случаях:
- Первый аргумент пуст или имеет нулевую длину.
- Система счисления меньше
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
- Параметры:
-
s- строка, содержащая строковое представление числа для парсинга. -
radix- система счисления, используемая при парсинге. - Возвращает:
- целое число, представленное строковым аргументом в указанной системе счисления.
- Исключения:
-
NumberFormatException- если строка не содержит парсируемого целого числа.
parseLong
public static long parseLong(CharSequence s, int beginIndex, int endIndex, int radix) throws NumberFormatException
CharSequence как знаковое целое число в указанной системе счисления, начиная с указанного индекса и заканчивая указанным индексом. Метод не предпринимает мер по защите от изменения аргумента во время парсинга.
- Параметры:
-
s- последовательность символов, содержащая строковое представление числа для парсинга -
beginIndex- начальный индекс (включительно). -
endIndex- конечный индекс (исключительно). -
radix- система счисления, используемая при парсинге. - Возвращает:
- знаковое целое число, представленное подпоследовательностью в указанной системе счисления.
- Исключения:
-
NullPointerException- еслиsравно null. -
IndexOutOfBoundsException- еслиbeginIndexотрицательно, или еслиbeginIndexбольшеendIndex, или еслиendIndexбольшеs.length(). -
NumberFormatException- если последовательность не содержит парсируемого целого числа в указанной системе счисления, или если система счисления меньшеCharacter.MIN_RADIXили большеCharacter.MAX_RADIX. - С:
- 9
parseLong
public static long parseLong(String s) throws NumberFormatException
'-' (\u002D') для указания отрицательного значения или ASCII-знаком плюс '+' ('\u002B') для указания положительного значения. Результирующее целое число возвращается, точно так же, как если бы аргумент и основание 10 были переданы в качестве аргументов методу parseLong(java.lang.String, int). Обратите внимание, что ни символ L ('\u004C'), ни l ('\u006C') не допускаются в конце строки в качестве индикатора типа, как это разрешено в исходном коде языка программирования Java.
- Параметры:
-
s- строка, содержащая строковое представление числа для парсинга - Возвращает:
- целое число, представленное аргументом в десятичной системе счисления.
- Исключения:
-
NumberFormatException- если строка не содержит парсируемого целого числа.
parseUnsignedLong
public static long parseUnsignedLong(String s, int radix) throws NumberFormatException
long в указанном основание, определяемом вторым аргументом. Беззнаковое целое число отображает значения, обычно ассоциируемые с отрицательными числами, на положительные числа, большие чем MAX_VALUE. Символы в строке должны быть цифрами заданного основания (определяется, возвращает ли Character.digit(char, int) неотрицательное значение), за исключением первого символа, который может быть ASCII-плюсом '+' ('\u002B'). Возвращается полученное целое значение. Исключение типа NumberFormatException выбрасывается, если происходит что-либо из следующего:
- Первый аргумент равен
nullили представляет собой строку длиной ноль. - Основание меньше
Character.MIN_RADIXили большеCharacter.MAX_RADIX. - Любой символ в строке не является цифрой указанного основания, за исключением первого символа, который может быть знаком плюс
'+'('\u002B'), при условии, что длина строки больше 1. - Значение, представленное строкой, больше наибольшего беззнакового
long, 264-1.
- Parameters:
-
s- строка, содержащая представление беззнакового целого числа для парсинга -
radix- основание, используемое при парсингеs. - Returns:
- беззнаковое
long, представленное строковым аргументом в заданном основании. - Throws:
-
NumberFormatException- если строка не содержит разборного беззнакового целого числа. - Since:
- 1.8
parseUnsignedLong
public static long parseUnsignedLong(CharSequence s, int beginIndex, int endIndex, int radix) throws NumberFormatException
CharSequence как беззнаковое long в заданном radix, начиная с указанного beginIndex и заканчивая endIndex - 1. Метод не предпринимает мер по защите от изменения CharSequence во время парсинга.
- Parameters:
-
s- последовательность символов, содержащая представление беззнакового целого числа для парсинга -
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
parseUnsignedLong
public static long parseUnsignedLong(String s) throws NumberFormatException
long. Символы в строке должны быть десятичными цифрами, за исключением первого символа, который может быть ASCII-плюсом
'+' ('\u002B'). Возвращается полученное целое значение, точно так же, как если бы аргумент и основание 10 были переданы методу parseUnsignedLong(java.lang.String, int).- Parameters:
-
s- строка, содержащая представление беззнакового целого числа для парсинга - 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- Если строка не содержит разборного целого числа.
valueOf
public static Long valueOf(String s) throws NumberFormatException
Long, содержащий значение указанной String. Аргумент интерпретируется как представление знакового десятичного long, точно так же, как если бы аргумент был передан методу parseLong(java.lang.String). Результатом является объект Long, представляющий целое значение, указанное строкой. Другими словами, этот метод возвращает объект Long, равный значению:
Long.valueOf(Long.parseLong(s))
- Parameters:
-
s- строка для парсинга. - Returns:
- объект
Long, содержащий значение, представленное строкой аргумента. - Throws:
-
NumberFormatException- Если строка не может быть обработана как целое число.
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
String в целое число Long. Принимает десятичные, шестнадцатеричные и восьмеричные числа, заданные следующей грамматикой: ДесятичнаяЧисло, ШестнадцатеричныеЦифры и ВосьмеричныеЦифры определены в разделе 3.10.1 спецификации языка Java, за исключением того, что подчеркивания между цифрами не допускаются.
- ДекодируемаяСтрока:
- Знакнеобяз ДесятичнаяЧисло
- Знакнеобяз
0xШестнадцатеричныеЦифры- Знакнеобяз
0XШестнадцатеричныеЦифры- Знакнеобяз
#ШестнадцатеричныеЦифры- Знакнеобяз
0ВосьмеричныеЦифры- Знак:
-+
Последовательность символов, следующая за необязательным знаком и/или префиксом основания ("0x", "0X", "#" или ведущий ноль), анализируется методом
Long.parseLong с указанным основанием (10, 16 или 8). Эта последовательность символов должна представлять положительное значение, иначе будет выброшено исключение NumberFormatException. Результат инвертируется, если первым символом указанной String является минус. В строке String не допускаются пробелы.
- Parameters:
-
nm- строка для декодирования. - Returns:
- объект
Long, содержащий значение целого числа, представленное строкойnm - Throws:
-
NumberFormatException- если строка не содержит разборного целого числа. - Since:
- 1.2
- See Also:
byteValue
public byte byteValue()
Long как byte после сужения примитивного преобразования.- Overrides:
-
byteValueв классеNumber - Returns:
- численное значение, представленное этим объектом после преобразования к типу
byte. - See Java Language Specification:
- 5.1.3 Сужение примитивного преобразования
shortValue
public short shortValue()
Long в качестве short после сужающего преобразования примитивов.- Overrides:
-
shortValueв классеNumber - Returns:
- числовое значение, представленное этим объектом после преобразования в тип
short. - См. Спецификацию языка Java:
- 5.1.3 Преобразование примитивных типов с сужением
intValue
public int intValue()
Long в качестве int после сужающего преобразования примитивных типов.- Specified by:
-
intValueв классеNumber - Returns:
- числовое значение, представленное этим объектом после преобразования в тип
int. - См. Спецификацию языка Java:
- 5.1.3 Преобразование примитивных типов с сужением
longValue
floatValue
public float floatValue()
Long как float после расширяющего преобразования примитивных типов.- Specified by:
-
floatValueв классеNumber - Returns:
- числовое значение, представленное этим объектом после преобразования в тип
float. - См. Спецификацию языка Java:
- 5.1.2 Преобразование примитивных типов с расширением
doubleValue
public double doubleValue()
Long как double после расширяющего преобразования примитивных типов.- Specified by:
-
doubleValueв классеNumber - Returns:
- числовое значение, представленное этим объектом после преобразования в тип
double. - См. Спецификацию языка Java:
- 5.1.2 Преобразование примитивных типов с расширением
toString
public String toString()
String, представляющий значение этого Long. Значение преобразуется в знаковое десятичное представление и возвращается в виде строки, точно так же, как если бы значение long было передано в качестве аргумента методу toString(long).hashCode
public int hashCode()
Long. Результатом является исключающее ИЛИ двух половин примитивного значения long, хранимого в этом объекте Long. То есть, хэш-код — это значение выражения: (int)(this.longValue()^(this.longValue()>>>32))
hashCode
public static int hashCode(long value)
long; совместимо с Long.hashCode().- Parameters:
-
value- значение для хэширования - Returns:
- значение хэш-кода для значения
long. - Since:
- 1.8
equals
public boolean equals(Object obj)
true тогда и только тогда, когда аргумент не null и является объектом Long, содержащим то же самое значение long, что и этот объект.getLong
public static Long getLong(String nm)
long системной переменной с указанным именем. Первый аргумент рассматривается как имя системной переменной. Доступ к системным переменным осуществляется через метод System.getProperty(java.lang.String). Строковое значение этой переменной затем интерпретируется как значение
long с использованием грамматики, поддерживаемой decode, и возвращается объект Long, представляющий это значение.
Если переменной с указанным именем нет, если указанное имя пустое или null, или если переменная не имеет правильного числового формата, то возвращается null.
Другими словами, этот метод возвращает объект Long, равный значению:
getLong(nm, null)
- Parameters:
-
nm- имя переменной. - Returns:
- значение
Longпеременной. - См. Также:
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, когда значение по умолчанию не требуется.- Parameters:
-
nm- имя переменной. -
val- значение по умолчанию. - Returns:
- значение
Longпеременной. - See Also:
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переменной. - See Also:
compareTo
public int compareTo(Long anotherLong)
Long численно.- Specified by:
-
compareToв интерфейсеComparable<Long> - Parameters:
-
anotherLong- сравниваемый объектLong. - Returns:
- значение
0, если этот объектLongравен аргументуLong; значение меньше0, если этот объектLongчисленно меньше аргументаLong; и значение больше0, если этот объектLongчисленно больше аргументаLong(сравнение со знаком). - Since:
- 1.2
compare
public static int compare(long x, long y)
long численно. Возвращаемое значение идентично тому, что было бы возвращено:
Long.valueOf(x).compareTo(Long.valueOf(y))
- Parameters:
-
x- первое значениеlongдля сравнения -
y- второе значениеlongдля сравнения - Returns:
- значение
0, еслиx == y; значение меньше0, еслиx < y; и значение больше0, еслиx > y - Since:
- 1.7
compareUnsigned
public static int compareUnsigned(long x, long y)
long численно, рассматривая значения как беззнаковые.- Parameters:
-
x- первое значениеlongдля сравнения -
y- второе значениеlongдля сравнения - Returns:
- значение
0, еслиx == y; значение меньше0, еслиx < yкак беззнаковые значения; и значение больше0, еслиx > yкак беззнаковые значения - 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)
long с не более чем одним единичным битом, в позиции старшего («левого») единичного бита в указанном значении long. Возвращает ноль, если в указанном значении нет единичных битов в его двоичном представлении со знаком дополнения до двух, то есть, если оно равно нулю.- Parameters:
-
i- значение, для которого необходимо вычислить старший единичный бит - Returns:
- значение
longс одним единичным битом в позиции старшего единичного бита в указанном значении или нуль, если указанное значение само равно нулю. - Since:
- 1.5
lowestOneBit
public static long lowestOneBit(long i)
long с не более чем одним единичным битом, в позиции младшего («правого») единичного бита в указанном значении long. Возвращает ноль, если в указанном значении нет единичных битов в его двоичном представлении со знаком дополнения до двух, то есть, если оно равно нулю.- Parameters:
-
i- значение, для которого необходимо вычислить младший единичный бит - Returns:
- значение
longс одним единичным битом в позиции младшего единичного бита в указанном значении или нуль, если указанное значение само равно нулю. - Since:
- 1.5
numberOfLeadingZeros
public static int numberOfLeadingZeros(long i)
long. Возвращает 64, если в указанном значении нет единичных битов в его двоичном представлении со знаком дополнения до двух, то есть, если оно равно нулю. Обратите внимание, что этот метод тесно связан с логарифмом по основанию 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)
long. Возвращает 64, если в указанном значении нет единичных битов в его двоичном представлении со знаком дополнения до двух, то есть, если оно равно нулю.- Parameters:
-
i- значение, для которого требуется вычислить количество младших нулей - Returns:
- количество нулевых битов, следующих за младшим («правым») единичным битом в двоичном представлении со знаком дополнения до двух указанного значения
long, или 64, если значение равно нулю. - Since:
- 1.5
bitCount
public static int bitCount(long i)
long. Эта функция иногда называется подсчётом популяции.- 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).
- Параметры:
-
i- значение, биты которого подлежат циклическому сдвигу влево -
distance- количество позиций битов для циклического сдвига влево - Возвращает:
- значение, полученное путём циклического сдвига влево двоичного представления числа со знаком, заданного
longзначения, на заданное количество битов. - С:
- 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).
- Параметры:
-
i- значение, биты которого подлежат циклическому сдвигу вправо -
distance- количество позиций битов для циклического сдвига вправо - Возвращает:
- значение, полученное путём циклического сдвига вправо двоичного представления числа со знаком, заданного
longзначения, на заданное количество битов. - С:
- 1.5
reverse
public static long reverse(long i)
long значения.- Параметры:
-
i- значение, подлежащее инвертированию - Возвращает:
- значение, полученное путём инвертирования порядка битов в заданном
longзначении. - С:
- 1.5
compress
public static long compress(long i, long mask)
long значения, i, в соответствии с заданной битовой маской. Для каждого бита со значением 1 mb маски, от младшего к старшему, значение бита i в той же позиции бита, что и у mb, присваивается сжатому значению последовательно, начиная с младшего бита. Все оставшиеся старшие биты сжатого значения устанавливаются в ноль.
- Примечание API:
- Рассмотрим простой случай сжатия цифр шестнадцатеричного значения: Начиная с младшей шестнадцатеричной цифры в позиции 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, 2-е издание, раздел 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 - Параметры:
-
i- значение, биты которого подлежат сжатию -
mask- битовая маска - Возвращает:
- сжатое значение
- С:
- 19
- См. также:
expand
public static long expand(long i, long mask)
long значения, i, в соответствии с заданной битовой маской. Для каждого бита со значением 1 mb маски, от младшего к старшему, следующее смежное значение бита i, начиная с младшего бита, присваивается расширенному значению в той же позиции бита, что и у mb. Все остальные оставшиеся биты расширенного значения устанавливаются в ноль.
- Примечание API:
- Рассмотрим простой случай расширения цифр шестнадцатеричного значения: Начиная с младшей шестнадцатеричной цифры в позиции 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Операция выбора для определения позиции бита со значением 1 с индексом
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 - Параметры:
-
i- значение, биты которого подлежат расширению -
mask- битовая маска - Возвращает:
- расширенное значение
- С:
- 19
- См. также:
signum
public static int signum(long i)
long значения. (Значение возвращается -1, если заданное значение отрицательно; 0, если заданное значение равно нулю; и 1, если заданное значение положительно.)- Параметры:
-
i- значение, для которого вычисляется функция signum - Возвращает:
- функция signum для заданного
longзначения. - С:
- 1.5
reverseBytes
public static long reverseBytes(long i)
long значения.- Параметры:
-
i- значение, байты которого подлежат инвертированию - Возвращает:
- значение, полученное путём инвертирования байтов в заданном
longзначении. - С:
- 1.5
sum
public static long sum(long a, long b)
long значения так, как если бы использовался оператор +.- Параметры:
-
a- первый операнд -
b- второй операнд - Возвращает:
- сумма
aиb - С:
- 1.8
- См. также:
max
public static long max(long a, long b)
long значений, как если бы было вызывано Math.max.- Параметры:
-
a- первый операнд -
b- второй операнд - Возвращает:
- большее из
aиb - С:
- 1.8
- См. также:
min
public static long min(long a, long b)
long значений, как если бы было вызывано Math.min.- Параметры:
-
a- первый операнд -
b- второй операнд - Возвращает:
- меньшее из
aиb - С:
- 1.8
- См. также:
describeConstable
public Optional<Long> describeConstable()
Optional, содержащий номинальное описание для этого экземпляра, которое является самим экземпляром.- Указано в:
-
describeConstableв интерфейсеConstable - Возвращает:
Optional, описывающий экземпляр Long- С:
- 12
resolveConstantDesc
public Long resolveConstantDesc(MethodHandles.Lookup lookup)
ConstantDesc, результатом чего является сам экземпляр.- Указано в:
-
resolveConstantDescв интерфейсеConstantDesc - Параметры:
-
lookup- игнорируется - Возвращает:
- экземпляр Long
- С:
- 12
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/Long.html