Класс 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).
- С:
- 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<Long> |
TYPE |
Экземпляр Class , представляющий примитивный тип long. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
Long |
Устаревший, для удаления: Элемент API может быть удален в будущей версии. Использовать этот конструктор редко уместно. |
Long |
Устаревший, для удаления: Элемент API может быть удален в будущей версии. Использовать этот конструктор редко уместно. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static int |
bitCount |
Возвращает количество единиц в двоичном представлении числа со знаком «2» для указанного значения long. |
byte |
byteValue() |
Возвращает значение этого Long как byte после сужающего преобразования примитивного типа. |
static int |
compare |
Числовое сравнение двух значений long. |
int |
compareTo |
Числовое сравнение двух объектов Long. |
static int |
compareUnsigned |
Числовое сравнение двух значений long с учетом их как беззнаковых. |
static Long |
decode |
Декодирует String в Long. |
Optional<Long> |
describeConstable() |
Возвращает Optional, содержащий номинальный дескриптор для этого экземпляра, который является самим экземпляром. |
static long |
divideUnsigned |
Возвращает беззнаковое частное от деления первого аргумента на второй, где каждый аргумент и результат интерпретируется как беззнаковое значение. |
double |
doubleValue() |
Возвращает значение этого Long как double после расширяющего преобразования примитивного типа. |
boolean |
equals |
Сравнивает этот объект с указанным объектом. |
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 |
Возвращает количество нулевых битов, предшествующих самому старшему биту с единицей в двоичном представлении числа со знаком «2» для указанного значения long. |
static int |
numberOfTrailingZeros |
Возвращает количество нулевых битов, следующих за самым младшим битом с единицей в двоичном представлении числа со знаком «2» для указанного значения 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 |
Возвращает значение, полученное путем изменения порядка битов в двоичном представлении числа со знаком «2» для указанного значения long. |
static long |
reverseBytes |
Возвращает значение, полученное путем изменения порядка байтов в двоичном представлении числа со знаком «2» для указанного значения long. |
static long |
rotateLeft |
Возвращает значение, полученное путем циклического сдвига двоичного представления числа со знаком «2» для указанного значения long влево на заданное количество битов. |
static long |
rotateRight |
Возвращает значение, полученное путем циклического сдвига двоичного представления числа со знаком «2» для указанного значения 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 из этих символов используются как цифры в радиксе 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- значениеlong, которое необходимо преобразовать в строку. - Returns:
- строковое представление значения без знака
longаргумента в восьмеричной системе счисления. - 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- аргументlong, который необходимо преобразовать в строку. - Returns:
- строковое представление значения без знака
longаргумента в двоичной системе счисления. - Since:
- 1.0.2
- See Also:
toString
public static String toString(long i)
String, представляющий заданное long. Аргумент преобразуется в знаковое десятичное представление и возвращается как строка, точно так же, как если бы аргумент и основание 10 были переданы в метод toString(long, int).- Parameters:
-
i- аргументlongдля преобразования. - Returns:
- строковое представление аргумента в системе счисления с основанием 10.
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 выбрасывается, если выполняется любое из следующих условий:
- Первый аргумент пуст или имеет нулевую длину.
- Основание меньше
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- строка, содержащая строковое представление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- последовательность, содержащая строковое представление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- строка, содержащая строковое представлениеlongдля парсинга - Returns:
- знаковое
longзначение, представленное аргументом в десятичной системе счисления. - Throws:
-
NumberFormatException- если строка не содержит парсируемоеlongзначение.
parseUnsignedLong
public static long parseUnsignedLong(String s, int radix) throws NumberFormatException
long в указанном основанием, заданном вторым аргументом. Беззнаковое целое число отображает значения, обычно ассоциируемые с отрицательными числами, на положительные числа, большие, чем MAX_VALUE. Символы в строке должны быть цифрами указанного основания (как определяется тем, возвращает ли Character.digit(char, int) неотрицательное значение), за исключением того, что первый символ может быть ASCII-знаком плюс '+' ('\u002B'). Возвращается полученное целочисленное значение. Исключение типа NumberFormatException выбрасывается, если выполняется любое из следующих условий:
- Первый аргумент пустой или является строкой длиной ноль.
- Основание меньше, чем
Character.MIN_RADIX, или больше, чемCharacter.MAX_RADIX. - Любой символ строки не является цифрой указанного основания, за исключением того, что первый символ может быть знаком плюс
'+'('\u002B'), при условии, что строка длиннее 1. - Значение, представленное строкой, больше наибольшего беззнакового
long, 264-1.
- Parameters:
-
s- строка, содержащая беззнаковое целочисленное представление, подлежащее парсингу -
radix- основание, используемое при парсингеs. - Returns:
- беззнаковое
long, представленное строковым аргументом в указанном основании. - Throws:
-
NumberFormatException- если строка не содержит парсируемого беззнаковогоlong. - Since:
- 1.8
parseUnsignedLong
public static long parseUnsignedLong(CharSequence s, int beginIndex, int endIndex, int radix) throws NumberFormatException
CharSequence как беззнаковое long в указанном radix, начиная с указанного beginIndex и заканчивая endIndex - 1.- Parameters:
-
s- последовательность символов, содержащая беззнаковоеlongпредставление, подлежащее парсингу -
beginIndex- начальный индекс (включительно). -
endIndex- конечный индекс (исключительно). -
radix- основание, используемое при парсингеs. - Returns:
- беззнаковое
long, представленное подпоследовательностью в указанном основании. - Throws:
-
NullPointerException- еслиsимеет значение null. -
IndexOutOfBoundsException- еслиbeginIndexотрицательно, или еслиbeginIndexбольшеendIndex, или еслиendIndexбольшеs.length(). -
NumberFormatException- если последовательность символов не содержит парсируемого беззнакового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- строка, содержащая беззнаковоеlongпредставление, подлежащее парсингу - Returns:
- беззнаковое
longзначение, представленное десятичной строкой аргумента - Throws:
-
NumberFormatException- если строка не содержит парсируемого беззнакового целого числа. - Since:
- 1.8
valueOf
public static Long valueOf(String s, int radix) throws NumberFormatException
Long, содержащий значение, извлечённое из указанной строки при парсинге с основанием, заданным вторым аргументом. Первый аргумент интерпретируется как представляющий знаковое long в основании, заданном вторым аргументом, точно так же, как если бы аргументы были переданы методу parseLong(java.lang.String, int). Результатом является объект Long, представляющий значение long, указанное строкой. Другими словами, этот метод возвращает объект Long равный значению:
new Long(Long.parseLong(s, radix))
- Parameters:
-
s- строка, подлежащая парсингу -
radix- основание, используемое для интерпретацииs - Returns:
- объект
Long, содержащий значение, представленное строковым аргументом в указанном основании. - Throws:
-
NumberFormatException- Если строка не содержит парсируемогоlong.
valueOf
public static Long valueOf(String s) throws NumberFormatException
Long, содержащий значение указанной строки. Аргумент интерпретируется как представляющий знаковое десятичное long, точно так же, как если бы аргумент был передан методу parseLong(java.lang.String). Результатом является объект Long, представляющий целое значение, указанное строкой. Другими словами, этот метод возвращает объект Long равный значению:
new Long(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. Результат меняет знак, если первый символ указанной строки является знаком минус. В строке не допускаются пробелы.
- Parameters:
-
nm- строка для декодирования. - Returns:
- объект
Long, содержащий значениеlong, представленное строкойnm - Throws:
-
NumberFormatException- если строка не содержит парсируемогоlong. - 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
public long longValue()
Long как значение типа long.- Specified by:
-
longValueв классеNumber - Returns:
- числовое значение, представленное этим объектом после преобразования к типу
long.
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).- Overrides:
-
toStringв классеObject - Returns:
- строковое представление значения этого объекта в системе счисления по основанию 10.
hashCode
public int hashCode()
Long. Результатом является исключающее ИЛИ двух половинок примитивного значения long, хранимого этим объектом Long. То есть, хэш-код равен значению выражения: (int)(this.longValue()^(this.longValue()>>>32))
- Overrides:
-
hashCodeв классеObject - Returns:
- значение хэш-кода для этого объекта.
- См. также:
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 что и этот объект.- Overrides:
-
equalsв классеObject - Parameters:
-
obj- объект для сравнения. - Returns:
-
trueесли объекты идентичны;falseв противном случае. - См. также:
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. - Throws:
-
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, new Long(val)) но на практике он может быть реализован, например, таким образом: чтобы избежать ненучного выделения объектаLong result = getLong(nm, null); return (result == null) ? new Long(val) : result;
Long при отсутствии необходимости в значении по умолчанию.- Parameters:
-
nm- имя переменной. -
val- значение по умолчанию. - Returns:
- значение системной переменной типа
Long. - Throws:
-
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, еслиx == y; значение меньше0, еслиx < y; и значение больше0, еслиx > y - Since:
- 1.7
compareUnsigned
public static int compareUnsigned(long x, long y)
- 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)
- 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. Для всех положительных значений 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
signum
public static int signum(long i)
long значения. (Возвращаемое значение равно -1, если указанное значение отрицательное; 0, если указанное значение равно нулю; и 1, если указанное значение положительное.)- Parameters:
-
i- значение, для которого необходимо вычислить функцию знака - Returns:
- функция знака для указанного
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, 2021, 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/17/docs/api/java.base/java/lang/Long.html