Класс Long

Все реализуемые интерфейсы:
Serializable, Comparable<Long>
public final class Long
extends Number
implements Comparable<Long>

Класс Long оборачивает значение примитивного типа long в объект. Объект типа Long содержит единственное поле типа long.

Кроме того, этот класс предоставляет несколько методов для преобразования long в String и String в long, а также другие константы и методы, полезные при работе с long.

Примечание об реализации: Реализации методов "битовых операций" (таких как highestOneBit и numberOfTrailingZeros) основаны на материалах из книги Генри С. Уоррена младшего "Искусство программирования на языке ассемблера" (Addison Wesley, 2002).

C момента:
1.0
См. также:
Сериализованная форма

Поля

Модификатор и тип Поле Описание
static int BYTES

Количество байтов, используемых для представления значения long в двоичной форме со знаком.

static long MAX_VALUE

Константа, содержащая максимальное значение, которое может иметь long, 263-1.

static long MIN_VALUE

Константа, содержащая минимальное значение, которое может иметь long, -263.

static int SIZE

Количество битов, используемых для представления значения long в двоичной форме со знаком.

static Class<Long> TYPE

Экземпляр Class , представляющий примитивный тип long.

Конструкторы

Конструктор Описание
Long​(long value)

Устаревший.

Использование данного конструктора редко уместно.

Long​(String s)

Устаревший.

Использование данного конструктора редко уместно.

Методы

Модификатор и тип Метод Описание
static int bitCount​(long i)

Возвращает количество единичных битов в двоичном представлении числа со знаком, дополнением до двух, для указанного 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.

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)

Возвращает количество нулевых битов, предшествующих наиболее старшему (самого левого) единичному биту в двоичном представлении числа со знаком, дополнением до двух, для указанного long значения.

static int numberOfTrailingZeros​(long i)

Возвращает количество нулевых битов, следующих за наименее старшим (самым правым) единичным битом в двоичном представлении числа со знаком, дополнением до двух, для указанного 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)

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

static long reverse​(long i)

Возвращает значение, полученное путем перестановки порядка битов в двоичном представлении числа со знаком, дополнением до двух, для указанного long значения.

static long reverseBytes​(long i)

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

static long rotateLeft​(long i, int distance)

Возвращает значение, полученное путем циклического сдвига влево двоичного представления числа со знаком, дополнением до двух, для указанного long значения на указанное количество битов.

static long rotateRight​(long i, int distance)

Возвращает значение, полученное путем циклического сдвига вправо двоичного представления числа со знаком, дополнением до двух, для указанного long значения на указанное количество битов.

short shortValue()

Возвращает значение этого Long как short после сужающего преобразования примитивов.

static int signum​(long i)

Возвращает функцию signum для указанного 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")
public Long(long value)
Устаревший.
Использование этого конструктора редко уместно. Статический фабричный метод valueOf(long) обычно является лучшим выбором, так как он, скорее всего, обеспечит значительно лучшую производительность по памяти и времени.

Создаёт новый объект Long представляющий указанное значение long.

Параметры:
value - значение, которое будет представлено объектом Long.

Long

@Deprecated(since="9")
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'. Если radix равно 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 как беззнаковое целое число в системе счисления с основанием 16.

Беззнаковое значение long — это аргумент плюс 264, если аргумент отрицательный; в противном случае оно равно аргументу. Это значение преобразуется в строку шестнадцатеричных цифр ASCII (основание 16) без дополнительных начальных 0.

Значение аргумента можно восстановить из возвращаемой строки s вызовом Long.parseUnsignedLong(s, 16).

Если беззнаковая величина равна нулю, она представляется одним нулевым символом '0' ('\u0030'); в противном случае первый символ представления беззнаковой величины не будет нулевым символом. В качестве шестнадцатеричных цифр используются следующие символы:

0123456789abcdef
Это символы '\u0030' по '\u0039' и '\u0061' по '\u0066'. Если нужны прописные буквы, к результату можно применить метод String.toUpperCase():
Long.toHexString(n).toUpperCase()
Параметры:
i - число long, которое необходимо преобразовать в строку.
Возвращаемое значение:
строковое представление беззнакового значения long, представленного аргументом в шестнадцатеричной системе счисления (основание 16).
С версии:
1.0.2
См. также:
parseUnsignedLong(String, int), toUnsignedString(long, int)

toOctalString

public static String toOctalString(long i)

Возвращает строковое представление аргумента long как беззнаковое целое число в системе счисления с основанием 8.

Беззнаковое значение long — это аргумент плюс 264, если аргумент отрицательный; в противном случае оно равно аргументу. Это значение преобразуется в строку восьмеричных цифр ASCII (основание 8) без дополнительных начальных 0.

Значение аргумента можно восстановить из возвращаемой строки s вызовом Long.parseUnsignedLong(s, 8).

Если беззнаковая величина равна нулю, она представляется одним нулевым символом '0' ('\u0030'); в противном случае первый символ представления беззнаковой величины не будет нулевым символом. В качестве восьмеричных цифр используются следующие символы:

01234567
Это символы '\u0030' по '\u0037'.
Параметры:
i - число long, которое необходимо преобразовать в строку.
Возвращаемое значение:
строковое представление беззнакового значения long, представленного аргументом в восьмеричной системе счисления (основание 8).
С версии:
1.0.2
См. также:
parseUnsignedLong(String, int), toUnsignedString(long, int)

toBinaryString

public static String toBinaryString(long i)

Возвращает строковое представление аргумента long как беззнаковое целое число в системе счисления с основанием 2.

Беззнаковое значение long — это аргумент плюс 264, если аргумент отрицательный; в противном случае оно равно аргументу. Это значение преобразуется в строку двоичных цифр ASCII (основание 2) без дополнительных начальных 0.

Значение аргумента можно восстановить из возвращаемой строки s вызовом Long.parseUnsignedLong(s, 2).

Если беззнаковая величина равна нулю, она представляется одним нулевым символом '0' ('\u0030'); в противном случае первый символ представления беззнаковой величины не будет нулевым символом. В качестве двоичных цифр используются символы '0' ('\u0030') и '1' ('\u0031').

Параметры:
i - число long, которое необходимо преобразовать в строку.
Возвращаемое значение:
строковое представление беззнакового значения long, представленного аргументом в двоичной системе счисления (основание 2).
С версии:
1.0.2
См. также:
parseUnsignedLong(String, int), toUnsignedString(long, int)

toString

public static String toString(long i)

Возвращает объект String, представляющий указанное значение long. Аргумент преобразуется в знаковое десятичное представление и возвращается как строка, точно так же, как если бы аргумент и система счисления 10 были переданы в качестве аргументов методу toString(long, int).

Параметры:
i - число long, которое необходимо преобразовать.
Возвращаемое значение:
строковое представление аргумента в системе счисления с основанием 10.

toUnsignedString

public static String toUnsignedString(long i)

Возвращает строковое представление аргумента как беззнаковое десятичное значение. Аргумент преобразуется в беззнаковое десятичное представление и возвращается как строка точно так же, как если бы аргумент и система счисления 10 были переданы в качестве аргументов методу toUnsignedString(long, int).

Параметры:
i - целое число, которое необходимо преобразовать в беззнаковую строку.
Возвращаемое значение:
беззнаковое строковое представление аргумента.
С версии:
1.8
См. также:
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 возникает, если происходит любая из следующих ситуаций:

  • Первый аргумент является null или представляет собой строку нулевой длины.
  • Система счисления radix меньше, чем 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 - String содержащий строковое представление long для разбора.
radix - основание, используемое при разборе s.
Возвращает:
значение long , представленное строковым аргументом в указанном основании.
Исключение:
NumberFormatException - если строка не содержит разборного long.

parseLong

public static long parseLong(CharSequence s,
                             int beginIndex,
                             int endIndex,
                             int radix)
                      throws NumberFormatException

Разбирает аргумент CharSequence как целое со знаком long в указанном radix, начиная с указанного beginIndex и до endIndex - 1.

Метод не предпринимает мер для защиты от изменения CharSequence во время разбора.

Параметры:
s - CharSequence содержащий строковое представление long для разбора.
beginIndex - начальный индекс (включительно).
endIndex - конечный индекс (исключительно).
radix - основание, используемое при разборе s.
Возвращает:
целое со знаком long , представленное подпоследовательностью в указанном основании.
Исключение:
NullPointerException - если s равно null.
IndexOutOfBoundsException - если beginIndex отрицательное, или beginIndex больше endIndex, или endIndex больше s.length().
NumberFormatException - если CharSequence не содержит разборного int в указанном radix, или radix меньше Character.MIN_RADIX или больше Character.MAX_RADIX.
С момента:
9

parseLong

public static long parseLong(String s)
                      throws NumberFormatException

Разбирает строковый аргумент как целое со знаком в десятичной системе long . Символы в строке должны быть десятичными цифрами, за исключением того, что первый символ может быть ASCII-минусом '-' (\u002D') для указания отрицательного значения или ASCII-плюсом '+' ('\u002B') для указания положительного значения. Результирующее значение целого возвращается, точно так же, как если бы аргумент и основание 10 были переданы методу parseLong(java.lang.String, int).

Обратите внимание, что ни символ L ('\u004C') ни l ('\u006C') не разрешены в конце строки в качестве индикатора типа, как это разрешено в исходном коде языка программирования Java.

Параметры:
s - String содержащий строковое представление long для разбора.
Возвращает:
целое со знаком, представленное аргументом в десятичной системе.
Исключение:
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.
Параметры:
s - строка, содержащая представление беззнакового целого числа для разбора.
radix - основание, используемое при разборе s.
Возвращает:
беззнаковое целое, представленное строковым аргументом в указанном основании.
Исключение:
NumberFormatException - если строка не содержит разборного беззнакового целого числа.
С момента:
1.8

parseUnsignedLong

public static long parseUnsignedLong(CharSequence s,
                                     int beginIndex,
                                     int endIndex,
                                     int radix)
                              throws NumberFormatException

Разбирает аргумент CharSequence как беззнаковое long в указанном radix, начиная с указанного beginIndex и до endIndex - 1.

Метод не предпринимает мер для защиты от изменения CharSequence во время разбора.

Параметры:
s - CharSequence содержащий строковое представление беззнакового long для разбора.
beginIndex - начальный индекс (включительно).
endIndex - конечный индекс (исключительно).
radix - основание, используемое при разборе s.
Возвращает:
беззнаковое целое, представленное подпоследовательностью в указанном основании.
Исключение:
NullPointerException - если s равно null.
IndexOutOfBoundsException - если beginIndex отрицательное, или beginIndex больше endIndex, или endIndex больше s.length().
NumberFormatException - если CharSequence не содержит разборного беззнакового long в указанном radix, или radix меньше Character.MIN_RADIX или больше Character.MAX_RADIX.
С момента:
9

parseUnsignedLong

public static long parseUnsignedLong(String s)
                              throws NumberFormatException

Разбирает строковый аргумент как беззнаковое десятичное long . Символы в строке должны быть десятичными цифрами, за исключением того, что первый символ может быть ASCII-плюсом '+' ('\u002B'). Результирующее целое значение возвращается, точно так же, как если бы аргумент и основание 10 были переданы методу parseUnsignedLong(java.lang.String, int).

Параметры:
s - строка, содержащая представление беззнакового long для разбора.
Возвращает:
значение беззнакового целого, представленное десятичной строкой аргумента
Исключение:
NumberFormatException - если строка не содержит разборного беззнакового целого числа.
С момента:
1.8

valueOf

public static Long valueOf(String s,
                           int radix)
                    throws NumberFormatException

Возвращает объект Long, содержащий значение, извлечённое из указанной String при разборе с основанием, заданным вторым аргументом. Первый аргумент интерпретируется как представляющий целое со знаком long в основании, указанном во втором аргументе, точно так же, как если бы аргументы были переданы методу parseLong(java.lang.String, int). Результатом является объект Long , который представляет значение long , заданное строкой.

Другими словами, этот метод возвращает объект Long равный значению:

new Long(Long.parseLong(s, radix))
Параметры:
s - строка для разбора.
radix - основание, используемое при интерпретации s
Возвращает:
объект Long , содержащий значение, представленное строковым аргументом в указанном основании.
Исключение:
NumberFormatException - Если String не содержит разборного long.

valueOf

public static Long valueOf(String s)
                    throws NumberFormatException

Возвращает объект Long, содержащий значение указанного String . Аргумент интерпретируется как представляющий целое со знаком в десятичной системе long, точно так же, как если бы аргумент был передан методу parseLong(java.lang.String). Результатом является объект Long , представляющий целочисленное значение, заданное строкой.

Другими словами, этот метод возвращает объект Long равный значению:

new Long(Long.parseLong(s))
Параметры:
s - строка для разбора.
Возвращает:
объект Long , содержащий значение, представленное строковым аргументом.
Исключение:
NumberFormatException - Если строка не может быть разобрана как long.

valueOf

public static Long valueOf(long l)

Возвращает экземпляр Long , представляющий указанное значение long . Если новый экземпляр Long не требуется, этот метод следует использовать вместо конструктора Long(long), поскольку этот метод, вероятно, обеспечит значительно лучшую производительность по памяти и времени за счёт кэширования часто запрашиваемых значений. Этот метод всегда кэширует значения в диапазоне от -128 до 127 включительно и может кэшировать другие значения за пределами этого диапазона.

Параметры:
l - значение типа long.
Возвращает:
экземпляр Long , представляющий l.
С момента:
1.5

decode

public static Long decode(String nm)
                   throws NumberFormatException

Декодирует String в Long. Принимает десятичные, шестнадцатеричные и восьмеричные числа, заданные следующей грамматикой:

ДекодируемаяСтрока:
Знакопц ДесятичноеЧисло
Знакопц 0x ШестнадцатеричныеЦифры
Знакопц 0X ШестнадцатеричныеЦифры
Знакопц # ШестнадцатеричныеЦифры
Знакопц 0 ВосьмеричныеЦифры
Знак:
-
+
ДесятичноеЧисло, ШестнадцатеричныеЦифры и ВосьмеричныеЦифры определены в разделе 3.10.1 спецификации языка Java™, за исключением того, что символы подчеркивания между цифрами не допускаются.

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

Параметры:
nm - String для декодирования.
Возвращает:
объект Long, содержащий значение long, представленное nm
Выбрасывает:
NumberFormatException - если String не содержит анализируемого long.
С:
1.2
См. также:
parseLong(String, int)

byteValue

public byte byteValue()

Возвращает значение этого Long как byte после сужающего преобразования примитивов.

Переопределяет:
byteValue в классе Number
Возвращает:
числовое значение, представленное этим объектом после преобразования в тип byte.

shortValue

public short shortValue()

Возвращает значение этого Long как short после сужающего преобразования примитивов.

Переопределяет:
shortValue в классе Number
Возвращает:
числовое значение, представленное этим объектом после преобразования в тип short.

intValue

public int intValue()

Возвращает значение этого Long как int после сужающего преобразования примитивов.

Определено в:
intValue в классе Number
Возвращает:
числовое значение, представленное этим объектом после преобразования в тип int.

longValue

public long longValue()

Возвращает значение этого Long как значение long.

Определено в:
longValue в классе Number
Возвращает:
числовое значение, представленное этим объектом после преобразования в тип long.

floatValue

public float floatValue()

Возвращает значение этого Long как float после расширяющего преобразования примитивов.

Определено в:
floatValue в классе Number
Возвращает:
числовое значение, представленное этим объектом после преобразования в тип float.

doubleValue

public double doubleValue()

Возвращает значение этого Long как double после расширяющего преобразования примитивов.

Определено в:
doubleValue в классе Number
Возвращает:
числовое значение, представленное этим объектом после преобразования в тип double.

toString

public String toString()

Возвращает объект String, представляющий значение этого Long. Значение преобразуется в знаковое десятичное представление и возвращается в виде строки, точно так же, как если бы значение long было передано в качестве аргумента методу toString(long).

Переопределяет:
toString в классе Object
Возвращает:
строковое представление значения этого объекта в системе счисления с основанием 10.

hashCode

public int hashCode()

Возвращает хэш-код для этого Long. Результат — исключающее ИЛИ двух половин примитивного значения long, хранящегося в этом объекте Long. То есть хэш-код — это значение выражения:

(int)(this.longValue()^(this.longValue()>>>32))

Переопределяет:
hashCode в классе Object
Возвращает:
значение хэш-кода для этого объекта.
См. также:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

hashCode

public static int hashCode(long value)

Возвращает хэш-код для значения long; совместимо с Long.hashCode().

Параметры:
value - значение для хэширования
Возвращает:
значение хэш-кода для значения long.
С:
1.8

equals

public boolean equals(Object obj)

Сравнивает этот объект с указанным объектом. Результат — true, если и только если аргумент не null и является объектом Long, содержащим то же значение long что и этот объект.

Переопределяет:
equals в классе Object
Параметры:
obj - объект для сравнения.
Возвращает:
true если объекты одинаковы; false в противном случае.
См. также:
Object.hashCode(), HashMap

getLong

public static Long getLong(String nm)

Определяет значение системной переменной с заданным именем.

Первый аргумент рассматривается как имя системной переменной. Системные переменные доступны через метод System.getProperty(java.lang.String). Строковое значение этой переменной затем интерпретируется как значение long с помощью грамматики, поддерживаемой методом decode, и возвращается объект Long, представляющий это значение.

Если переменной с заданным именем нет, если имя пустое или null, или если переменная имеет неправильный числовой формат, возвращается null.

Другими словами, этот метод возвращает объект Long равный значению:

getLong(nm, null)
Параметры:
nm - имя переменной.
Возвращает:
значение системной переменной.
Выбрасывает:
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). Строковое значение этой переменной затем интерпретируется как значение long с помощью грамматики, поддерживаемой методом decode, и возвращается объект Long , представляющий это значение.

Второй аргумент — значение по умолчанию. Объект Long, представляющий значение второго аргумента, возвращается, если нет переменной с заданным именем, если переменная имеет неправильный числовой формат или если заданное имя пустое или null.

Другими словами, этот метод возвращает объект Long равный значению:

getLong(nm, new Long(val))
но на практике он может быть реализован так:
Long result = getLong(nm, null);
return (result == null) ? new Long(val) : result;
чтобы избежать ненужного выделения объекта Long при отсутствии необходимости в значении по умолчанию.
Параметры:
nm - имя переменной.
val - значение по умолчанию.
Возвращает:
значение системной переменной.
Выбрасывает:
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). Строковое значение этого свойства затем интерпретируется как значение long, согласно методу 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:
значение свойства.
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 равен аргументу 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(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 с не более чем одним битом 1, в позиции старшего (самого левого) бита 1 в указанном значении long. Возвращает ноль, если указанное значение не имеет битов 1 в своём двоичном представлении со знаком дополнения до двух, то есть, если оно равно нулю.

Parameters:
i - значение, для которого нужно вычислить старший бит 1
Returns:
значение long с одним битом 1, в позиции старшего бита 1 в заданном значении, или ноль, если заданное значение само равно нулю.
Since:
1.5

lowestOneBit

public static long lowestOneBit(long i)

Возвращает значение long с не более чем одним битом 1, в позиции младшего (самого правого) бита 1 в указанном значении long. Возвращает ноль, если указанное значение не имеет битов 1 в своём двоичном представлении со знаком дополнения до двух, то есть, если оно равно нулю.

Parameters:
i - значение, для которого нужно вычислить младший бит 1
Returns:
значение long с одним битом 1, в позиции младшего бита 1 в заданном значении, или ноль, если заданное значение само равно нулю.
Since:
1.5

numberOfLeadingZeros

public static int numberOfLeadingZeros(long i)

Возвращает количество нулевых битов, предшествующих старшему (самого левому) биту 1 в двоичном представлении со знаком дополнения до двух указанного значения long. Возвращает 64, если указанное значение не имеет битов 1 в своём двоичном представлении со знаком дополнения до двух, другими словами, если оно равно нулю.

Обратите внимание, что этот метод тесно связан с логарифмом по основанию 2. Для всех положительных значений long x:

  • floor(log2(x)) = 63 - numberOfLeadingZeros(x)
  • ceil(log2(x)) = 64 - numberOfLeadingZeros(x - 1)
Parameters:
i - значение, для которого необходимо вычислить количество старших нулевых битов
Returns:
количество нулевых битов, предшествующих старшему (самого левому) биту 1 в двоичном представлении со знаком дополнения до двух указанного значения long, или 64, если значение равно нулю.
Since:
1.5

numberOfTrailingZeros

public static int numberOfTrailingZeros(long i)

Возвращает количество нулевых битов, следующих за младшим (самым правым) битом 1 в двоичном представлении со знаком дополнения до двух указанного значения long. Возвращает 64, если указанное значение не имеет битов 1 в своём двоичном представлении со знаком дополнения до двух, то есть, если оно равно нулю.

Parameters:
i - значение, для которого необходимо вычислить количество младших нулевых битов
Returns:
количество нулевых битов, следующих за младшим (самым правым) битом 1 в двоичном представлении со знаком дополнения до двух указанного значения long, или 64, если значение равно нулю.
Since:
1.5

bitCount

public static int bitCount(long i)

Возвращает количество битов 1 в двоичном представлении со знаком дополнения до двух указанного значения long. Эта функция иногда называется счётом популяции.

Parameters:
i - значение, биты которого необходимо подсчитать
Returns:
количество битов 1 в двоичном представлении со знаком дополнения до двух указанного значения 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).

Параметры:
i - значение, биты которого нужно сдвинуть вправо
distance - количество позиций битов для сдвига вправо
Возвращает:
значение, полученное путем циклического сдвига вправо на указанное количество битов двоичного представления числа со знаком, дополнением до двух для указанного значения long.
С:
1.5

reverse

public static long reverse(long i)

Возвращает значение, полученное путем обратного порядка битов в двоичном представлении числа со знаком, дополнением до двух для указанного значения long.

Параметры:
i - значение, которое нужно перевернуть
Возвращает:
значение, полученное путем обратного порядка битов в указанном значении long.
С:
1.5

signum

public static int signum(long i)

Возвращает функцию signum для указанного значения 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
См. также:
BinaryOperator

max

public static long max(long a,
                       long b)

Возвращает большее из двух значений long так, как если бы вызывали Math.max.

Параметры:
a - первый операнд
b - второй операнд
Возвращает:
большее из a и b
С:
1.8
См. также:
BinaryOperator

min

public static long min(long a,
                       long b)

Возвращает меньшее из двух значений long так, как если бы вызывали Math.min.

Параметры:
a - первый операнд
b - второй операнд
Возвращает:
меньшее из a и b
С:
1.8
См. также:
BinaryOperator

© 1993, 2020, 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/11/docs/api/java.base/java/lang/Long.html

Spec-Zone .ru
спецификации, руководства, описания, API