Spec-Zone.ru › OpenJDK 17

Класс Long

java.lang.Object
java.lang.Number
java.lang.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(long value)
Устаревший, для удаления: Элемент API может быть удален в будущей версии.
Использовать этот конструктор редко уместно.
Long(String s)
Устаревший, для удаления: Элемент API может быть удален в будущей версии.
Использовать этот конструктор редко уместно.

Краткое описание методов

Модификатор и тип Метод Описание
static int bitCount(long i)
Возвращает количество единиц в двоичном представлении числа со знаком «2» для указанного значения long.
byte byteValue()
Возвращает значение этого Long как byte после сужающего преобразования примитивного типа.
static int compare(long x, long y)
Числовое сравнение двух значений long.
int compareTo(Long anotherLong)
Числовое сравнение двух объектов Long.
static int compareUnsigned(long x, long y)
Числовое сравнение двух значений long с учетом их как беззнаковых.
static Long decode(String nm)
Декодирует String в Long.
Optional<Long> describeConstable()
Возвращает Optional, содержащий номинальный дескриптор для этого экземпляра, который является самим экземпляром.
static long divideUnsigned(long dividend, long divisor)
Возвращает беззнаковое частное от деления первого аргумента на второй, где каждый аргумент и результат интерпретируется как беззнаковое значение.
double doubleValue()
Возвращает значение этого Long как double после расширяющего преобразования примитивного типа.
boolean equals(Object obj)
Сравнивает этот объект с указанным объектом.
float floatValue()
Возвращает значение этого Long как float после расширяющего преобразования примитивного типа.
static Long getLong(String nm)
Определяет значение системной переменной со строковым именем.
static Long getLong(String nm, long val)
Определяет значение системной переменной со строковым именем.
static Long getLong(String nm, Long val)
Возвращает значение системной переменной со строковым именем.
int hashCode()
Возвращает код хэша для этого Long.
static int hashCode(long value)
Возвращает код хэша для значения long; совместимо с Long.hashCode().
static long highestOneBit(long i)
Возвращает значение long с не более чем одной единицей в позиции самого старшего бита в указанном значении long.
int intValue()
Возвращает значение этого Long как int после сужающего преобразования примитивного типа.
long longValue()
Возвращает значение этого Long как значение long.
static long lowestOneBit(long i)
Возвращает значение long с не более чем одной единицей в позиции самого младшего бита в указанном значении long.
static long max(long a, long b)
Возвращает большее из двух значений long, как если бы вызывали Math.max.
static long min(long a, long b)
Возвращает меньшее из двух значений long, как если бы вызывали Math.min.
static int numberOfLeadingZeros(long i)
Возвращает количество нулевых битов, предшествующих самому старшему биту с единицей в двоичном представлении числа со знаком «2» для указанного значения long.
static int numberOfTrailingZeros(long i)
Возвращает количество нулевых битов, следующих за самым младшим битом с единицей в двоичном представлении числа со знаком «2» для указанного значения long.
static long parseLong(CharSequence s, int beginIndex, int endIndex, int radix)
Парсит аргумент CharSequence как знаковое long в указанной radix, начиная с указанного beginIndex и заканчивая endIndex - 1.
static long parseLong(String s)
Парсит строковый аргумент как знаковое десятичное long.
static long parseLong(String s, int radix)
Парсит строковый аргумент как знаковое long в указанной системе счисления (радикс).
static long parseUnsignedLong(CharSequence s, int beginIndex, int endIndex, int radix)
Парсит аргумент CharSequence как беззнаковое long в указанной radix, начиная с указанного beginIndex и заканчивая endIndex - 1.
static long parseUnsignedLong(String s)
Парсит строковый аргумент как беззнаковое десятичное long.
static long parseUnsignedLong(String s, int radix)
Парсит строковый аргумент как беззнаковое long в указанной системе счисления (радикс).
static long remainderUnsigned(long dividend, long divisor)
Возвращает беззнаковый остаток от деления первого аргумента на второй, где каждый аргумент и результат интерпретируется как беззнаковое значение.
Long resolveConstantDesc(MethodHandles.Lookup lookup)
Разрешает этот экземпляр как ConstantDesc, результатом чего является сам экземпляр.
static long reverse(long i)
Возвращает значение, полученное путем изменения порядка битов в двоичном представлении числа со знаком «2» для указанного значения long.
static long reverseBytes(long i)
Возвращает значение, полученное путем изменения порядка байтов в двоичном представлении числа со знаком «2» для указанного значения long.
static long rotateLeft(long i, int distance)
Возвращает значение, полученное путем циклического сдвига двоичного представления числа со знаком «2» для указанного значения long влево на заданное количество битов.
static long rotateRight(long i, int distance)
Возвращает значение, полученное путем циклического сдвига двоичного представления числа со знаком «2» для указанного значения long вправо на заданное количество битов.
short shortValue()
Возвращает значение этого Long как short после сужающего преобразования примитивного типа.
static int signum(long i)
Возвращает функцию знака для заданного значения long.
static long sum(long a, long b)
Складывает два значения long согласно оператору +.
static String toBinaryString(long i)
Возвращает строковое представление аргумента long как беззнакового целого числа в двоичной системе счисления.
static String toHexString(long i)
Возвращает строковое представление аргумента long как беззнакового целого числа в шестнадцатеричной системе счисления.
static String toOctalString(long i)
Возвращает строковое представление аргумента long как беззнакового целого числа в восьмеричной системе счисления.
String toString()
Возвращает объект String, представляющий значение этого Long.
static String toString(long i)
Возвращает объект String, представляющий указанное long.
static String toString(long i, int radix)
Возвращает строковое представление первого аргумента в указанной системе счисления (радикс).
static String toUnsignedString(long i)
Возвращает строковое представление аргумента как беззнаковое десятичное значение.
static String toUnsignedString(long i, int radix)
Возвращает строковое представление первого аргумента как беззнаковое целое число в указанной системе счисления (радикс).
static Long valueOf(long l)
Возвращает экземпляр Long , представляющий указанное значение long.
static Long valueOf(String s)
Возвращает объект Long, содержащий значение указанного String.
static Long valueOf(String s, int radix)
Возвращает объект Long , содержащий значение, извлеченное из указанного String при парсинге с основанием, заданным вторым аргументом.

Методы, объявленные в классе java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание полей

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)
Устарело, для удаления: Этот элемент API может быть удален в будущей версии.
В редких случаях уместно использовать этот конструктор. Статический фабричный метод valueOf(long) обычно является лучшим выбором, так как он, скорее всего, обеспечит значительно лучшую производительность в отношении памяти и времени.
Создает новый объект Long , представляющий заданный аргумент long.
Параметры:
value - значение, которое должен представлять объект Long.

Long

@Deprecated(since="9", forRemoval=true) public Long(String s) throws NumberFormatException
Устарело, для удаления: Этот элемент API может быть удален в будущей версии.
В редких случаях уместно использовать этот конструктор. Используйте 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 - основание для строкового представления.
Возвращает:
строковое представление аргумента в указанном основании.
См. также:
  • Character.MAX_RADIX
  • Character.MIN_RADIX

toUnsignedString

public static String toUnsignedString(long i, int radix)
Возвращает строковое представление первого аргумента в качестве беззнакового целого значения в указанном вторым аргументом основании.

Если основание меньше Character.MIN_RADIX или больше Character.MAX_RADIX, используется основание 10.

Обратите внимание, что так как первый аргумент обрабатывается как беззнаковое значение, символ ведущего знака не печатается.

Если модуль равен нулю, он представляется одним символом ноль '0' ('\u0030'); в противном случае первый символ представления модуля не будет символом ноль.

Поведение оснований и символов, используемых в качестве цифр, такое же, как у toString.

Параметры:
i - целое число для преобразования в беззнаковую строку.
radix - основание для строкового представления.
Возвращает:
беззнаковое строковое представление аргумента в указанном основании.
С тех пор как:
1.8
См. также:
  • toString(long, int)

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
См. также:
  • HexFormat
  • parseUnsignedLong(String, int)
  • toUnsignedString(long, int)

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:
  • parseUnsignedLong(String, int)
  • toUnsignedString(long, int)

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:
  • parseUnsignedLong(String, int)
  • toUnsignedString(long, int)

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)
Возвращает строковое представление аргумента в виде беззнакового десятичного значения. Аргумент преобразуется в беззнаковое десятичное представление и возвращается как строка точно так же, как если бы аргумент и основание 10 были переданы в метод toUnsignedString(long, int).
Parameters:
i - целое число для преобразования в беззнаковую строку.
Returns:
беззнаковая строковое представление аргумента.
Since:
1.8
See Also:
  • toUnsignedString(long, int)

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
Декодирует строку в целое число. Принимает десятичные, шестнадцатеричные и восьмеричные числа, заданные следующей грамматикой:
ДекодируемаяСтрока:
Знакопционально ДесятичноеЧисло
Знакопционально 0x ШестнадцатеричныеЦифры
Знакопционально 0X ШестнадцатеричныеЦифры
Знакопционально # ШестнадцатеричныеЦифры
Знакопционально 0 ВосьмеричныеЦифры
Знак:
-
+
ДесятичноеЧисло, ШестнадцатеричныеЦифры и ВосьмеричныеЦифры определяются в разделе 3.10.1 спецификации языка Java, за исключением того, что нижние подчёркивания не допускаются между цифрами.

Последовательность символов после опционального знака и/или спецификатора основания ("0x", "0X", "#" или ведущая ноль) парсится как методом Long.parseLong с указанным основанием (10, 16 или 8). Эта последовательность символов должна представлять положительное значение, в противном случае будет брошено исключение NumberFormatException. Результат меняет знак, если первый символ указанной строки является знаком минус. В строке не допускаются пробелы.

Parameters:
nm - строка для декодирования.
Returns:
объект Long, содержащий значение long, представленное строкой nm
Throws:
NumberFormatException - если строка не содержит парсируемого long.
Since:
1.2
See Also:
  • parseLong(String, int)

byteValue

public byte byteValue()
Возвращает значение этого Long как byte после сужения примитивного преобразования.
Overrides:
byteValue в классе Number
Returns:
числовое значение, представленное этим объектом после преобразования в тип byte.
See Java Language Specification:
5.1.3 Сужение примитивного преобразования
END_OF_DOCUMENT_MARKER

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:
значение хэш-кода для этого объекта.
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

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 в противном случае.
См. также:
  • Object.hashCode()
  • HashMap

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
См. также:
  • System.getProperty(java.lang.String)
  • System.getProperty(java.lang.String, java.lang.String)

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
См. также:
  • System.getProperty(java.lang.String)
  • System.getProperty(java.lang.String, java.lang.String)

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:
  • System.getProperty(java.lang.String)
  • System.getProperty(java.lang.String, java.lang.String)

compareTo

public int compareTo(Long anotherLong)
Сравнивает два объекта Long численно.
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 численно. Возвращаемое значение идентично тому, что было бы возвращено:
    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(long, long)

remainderUnsigned

public static long remainderUnsigned(long dividend, long divisor)
Возвращает беззнаковый остаток от деления первого аргумента на второй, где каждый аргумент и результат интерпретируется как беззнаковое значение.
Parameters:
dividend - значение, которое нужно разделить
divisor - значение, на которое нужно разделить
Returns:
беззнаковый остаток от деления первого аргумента на второй
Since:
1.8
See Also:
  • divideUnsigned(long, long)

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. Для всех положительных значений 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).

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:
  • BinaryOperator

max

public static long max(long a, long b)
Возвращает большее из двух long значений так, как если бы вызывали Math.max.
Parameters:
a - первый операнд
b - второй операнд
Returns:
большее из a и b
Since:
1.8
See Also:
  • BinaryOperator

min

public static long min(long a, long b)
Возвращает меньшее из двух long значений так, как если бы вызывали Math.min.
Parameters:
a - первый операнд
b - второй операнд
Returns:
меньшее из a и b
Since:
1.8
See Also:
  • BinaryOperator

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API