Класс Long
- java.lang.Object
-
- java.lang.Number
-
- java.lang.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).
- С:
- JDK1.0
- См. также:
- Сериализованная форма
Поля
| Модификатор и тип | Поле и описание |
|---|---|
static int |
BYTES Количество байтов, используемых для представления значения |
static long |
MAX_VALUE Константа, содержащая максимальное значение, которое может иметь |
static long |
MIN_VALUE Константа, содержащая минимальное значение, которое может иметь |
static int |
SIZE Количество бит, используемых для представления значения |
static Class<Long> |
TYPE Экземпляр |
Конструкторы
| Конструктор и описание |
|---|
Long(long value) Создаёт новый объект |
Long(String s) Создаёт новый объект |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
static int |
bitCount(long i) Возвращает количество единичных битов в двоичном представлении числа со знаком (two's complement) указанного |
byte |
byteValue() Возвращает значение этого |
static int |
compare(long x,
long y) Сравнивает два |
int |
compareTo(Long anotherLong) Сравнивает два объекта |
static int |
compareUnsigned(long x,
long y) Сравнивает два |
static Long |
decode(String nm) Декодирует |
static long |
divideUnsigned(long dividend,
long divisor) Возвращает беззнаковое частное от деления первого аргумента на второй, где каждый аргумент и результат интерпретируется как беззнаковое значение. |
double |
doubleValue() Возвращает значение этого |
boolean |
equals(Object obj) Сравнивает этот объект со заданным объектом. |
float |
floatValue() Возвращает значение этого |
static Long |
getLong(String nm) Определяет значение системной переменной с указанным именем. |
static Long |
getLong(String nm,
long val) Определяет значение системной переменной с указанным именем. |
static Long |
getLong(String nm,
Long val) Возвращает строковое значение системной переменной с указанным именем. |
int |
hashCode() Возвращает хэш-код для этого |
static int |
hashCode(long value) Возвращает хэш-код для значения |
static long |
highestOneBit(long i) Возвращает значение |
int |
intValue() Возвращает значение этого |
long |
longValue() Возвращает значение этого |
static long |
lowestOneBit(long i) Возвращает значение |
static long |
max(long a,
long b) Возвращает большее из двух значений |
static long |
min(long a,
long b) Возвращает меньшее из двух значений |
static int |
numberOfLeadingZeros(long i) Возвращает количество нулевых битов, предшествующих старшему (самое левому) единичному биту в двоичном представлении числа со знаком (two's complement) указанного |
static int |
numberOfTrailingZeros(long i) Возвращает количество нулевых битов, следующих за младшим (самым правым) единичным битом в двоичном представлении числа со знаком (two's complement) указанного |
static long |
parseLong(String s) Парсит строковый аргумент как целое десятичное число со знаком |
static long |
parseLong(String s,
int radix) Парсит строковый аргумент как целое число со знаком |
static long |
parseUnsignedLong(String s) Парсит строковый аргумент как беззнаковое целое десятичное число |
static long |
parseUnsignedLong(String s,
int radix) Парсит строковый аргумент как беззнаковое целое число |
static long |
remainderUnsigned(long dividend,
long divisor) Возвращает беззнаковый остаток от деления первого аргумента на второй, где каждый аргумент и результат интерпретируется как беззнаковые значения. |
static long |
reverse(long i) Возвращает значение, полученное путем инвертирования порядка битов в двоичном представлении числа со знаком (two's complement) указанного |
static long |
reverseBytes(long i) Возвращает значение, полученное путем инвертирования порядка байтов в двоичном представлении числа со знаком (two's complement) указанного |
static long |
rotateLeft(long i,
int distance) Возвращает значение, полученное путем циклического сдвига влево двоичного представления числа со знаком (two's complement) указанного |
static long |
rotateRight(long i,
int distance) Возвращает значение, полученное путем циклического сдвига вправо двоичного представления числа со знаком (two's complement) указанного |
short |
shortValue() Возвращает значение этого |
static int |
signum(long i) Возвращает функцию знака для указанного значения |
static long |
sum(long a,
long b) Складывает два значения |
static String |
toBinaryString(long i) Возвращает строковое представление аргумента |
static String |
toHexString(long i) Возвращает строковое представление аргумента |
static String |
toOctalString(long i) Возвращает строковое представление аргумента |
String |
toString() Возвращает объект |
static String |
toString(long i) Возвращает объект |
static String |
toString(long i,
int radix) Возвращает строковое представление первого аргумента в указанном основании (radix) по второму аргументу. |
static String |
toUnsignedString(long i) Возвращает строковое представление аргумента как беззнаковое десятичное значение. |
static String |
toUnsignedString(long i,
int radix) Возвращает строковое представление первого аргумента как беззнаковое целое значение в указанном основании (radix) по второму аргументу. |
static Long |
valueOf(long l) Возвращает экземпляр |
static Long |
valueOf(String s) Возвращает объект |
static Long |
valueOf(String s,
int radix) Возвращает объект |
Методы, унаследованные от класса java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait Поля
MIN_VALUE
@Native public static final long MIN_VALUE
Константа, содержащая минимальное значение, которое может иметь `long`, -263.
- См. также:
- Constant Field Values
MAX_VALUE
@Native public static final long MAX_VALUE
Константа, содержащая максимальное значение, которое может иметь `long`, 263-1.
- См. также:
- Constant Field Values
TYPE
public static final Class<Long> TYPE
Экземпляр `Class`, представляющий примитивный тип `long`.
- С версии:
- JDK1.1
SIZE
@Native public static final int SIZE
Количество бит, используемых для представления значения `long` в двоичном дополнении до двух.
- С версии:
- 1.5
- См. также:
- Constant Field Values
BYTES
public static final int BYTES
Количество байтов, используемых для представления значения `long` в двоичном дополнении до двух.
- С версии:
- 1.8
- См. также:
- Constant Field Values
Конструкторы
Long
public Long(long value)
Создает новый выделенный объект `Long`, который представляет указанный аргумент `long`.
- Параметры:
- `value` - значение, которое должно быть представлено объектом `Long`.
Long
public Long(String s)
throws NumberFormatException Создает новый выделенный объект `Long`, который представляет значение `long`, указанное параметром `s`. Строка преобразуется в значение `long` точно так же, как это делает метод `Long.parseLong` для системы счисления 10.
- Параметры:
- `s` - строка, которая должна быть преобразована в `long`.
- Исключения:
- `NumberFormatException` - если `s` не содержит разбираемого `long`.
- См. также:
- `Long.parseLong(String, int)`
Методы
toString
public static String toString(long i,
int radix) Возвращает строковое представление первого аргумента в системе счисления, указанной вторым аргументом.
Если система счисления меньше 2 или больше 36, то вместо неё используется система счисления 10.
Если первый аргумент отрицателен, первый элемент результата — знак минус ASCII '-' (символ «минус»). Если первый аргумент неотрицателен, знак в результате не отображается.
Остальные символы результата представляют величину первого аргумента. Если величина равна нулю, она представлена одним нулевым символом '0' (цифра «ноль»); в противном случае первый символ представления величины не будет нулевым символом. В качестве цифр используются следующие символы ASCII:
0123456789abcdefghijklmnopqrstuvwxyzЭто символы от '0' до '9' и от 'a' до 'z'. Если `radix` равно N, то первые N из этих символов используются в качестве цифр системы счисления-N в указанном порядке. Таким образом, цифры для шестнадцатеричной системы счисления (система счисления 16) — это '0123456789abcdef'. Если желательны прописные буквы, к результату можно применить метод `String.toUpperCase()`: `result.toUpperCase()`
- Параметры:
- `l` - `long`, который должен быть преобразован в строку.
- `radix` - система счисления, которая должна использоваться в строковом представлении.
- Возвращает:
- строковое представление аргумента в указанной системе счисления.
- См. также:
- `Character.MAX_RADIX`, `Character.MIN_RADIX`
toUnsignedString
public static String toUnsignedString(long i,
int radix) Возвращает строковое представление первого аргумента как беззнаковое целое значение в системе счисления, указанной вторым аргументом.
Если система счисления меньше 2 или больше 36, то вместо неё используется система счисления 10.
Обратите внимание, что поскольку первый аргумент рассматривается как беззнаковое значение, ведущий знак не печатается.
Если величина равна нулю, она представлена одним нулевым символом '0' (цифра «ноль»); в противном случае первый символ представления величины не будет нулевым символом.
Поведение систем счисления и символов, используемых в качестве цифр, такое же, как у `toString(long, int)`.
- Параметры:
- `i` - целое число, которое должно быть преобразовано в беззнаковую строку.
- `radix` - система счисления, которая должна использоваться в строковом представлении.
- Возвращает:
- беззнаковое строковое представление аргумента в указанной системе счисления.
- С версии:
- 1.8
- См. также:
- `toString(long, int)`
toHexString
public static String toHexString(long i)
Возвращает строковое представление аргумента `long` как беззнаковое целое число в шестнадцатеричной системе счисления (16).
Беззнаковое значение `long` — это аргумент плюс 264, если аргумент отрицателен; в противном случае оно равно аргументу. Это значение преобразуется в строку цифр ASCII в шестнадцатеричной системе счисления (16) без дополнительных ведущих нулей.
Значение аргумента может быть восстановлено из возвращенной строки `String` путем вызова `Long.parseUnsignedLong(String, int)`.
Если беззнаковая величина равна нулю, она представлена одним нулевым символом '0' (цифра «ноль»); в противном случае первый символ представления беззнаковой величины не будет нулевым символом. В качестве шестнадцатеричных цифр используются следующие символы:
0123456789abcdefЭто символы от '0' до '9' и от 'a' до 'f'. Если желательны прописные буквы, к результату можно применить метод `String.toUpperCase()`: `result.toUpperCase()`
- Параметры:
- `l` - `long`, который должен быть преобразован в строку.
- Возвращает:
- строковое представление беззнакового значения `long`, представленного аргументом в шестнадцатеричной системе счисления (16).
- С версии:
- JDK 1.0.2
- См. также:
- `Long.parseUnsignedLong(String, int)`, `toUnsignedString(long, int)`
toOctalString
public static String toOctalString(long i)
Возвращает строковое представление аргумента `long` как беззнаковое целое число в восьмеричной системе счисления (8).
Беззнаковое значение `long` — это аргумент плюс 264, если аргумент отрицателен; в противном случае оно равно аргументу. Это значение преобразуется в строку цифр ASCII в восьмеричной системе счисления (8) без дополнительных ведущих нулей.
Значение аргумента может быть восстановлено из возвращенной строки `String` путем вызова `Long.parseUnsignedLong(String, int)`.
Если беззнаковая величина равна нулю, она представлена одним нулевым символом '0' (цифра «ноль»); в противном случае первый символ представления беззнаковой величины не будет нулевым символом. В качестве восьмеричных цифр используются следующие символы:
01234567Это символы от '0' до '7'.
- Параметры:
- `l` - `long`, который должен быть преобразован в строку.
- Возвращает:
- строковое представление беззнакового значения `long`, представленного аргументом в восьмеричной системе счисления (8).
- С версии:
- JDK 1.0.2
- См. также:
- `Long.parseUnsignedLong(String, int)`, `toUnsignedString(long, int)`
toBinaryString
public static String toBinaryString(long i)
Возвращает строковое представление аргумента `long` как беззнаковое целое число в двоичной системе счисления (2).
Беззнаковое значение `long` — это аргумент плюс 264, если аргумент отрицателен; в противном случае оно равно аргументу. Это значение преобразуется в строку цифр ASCII в двоичной системе счисления (2) без дополнительных ведущих нулей.
Значение аргумента может быть восстановлено из возвращенной строки `String` путем вызова `Long.parseUnsignedLong(String, int)`.
Если беззнаковая величина равна нулю, она представлена одним нулевым символом '0' (цифра «ноль»); в противном случае первый символ представления беззнаковой величины не будет нулевым символом. В качестве двоичных цифр используются символы '0' (цифра «ноль») и '1' (цифра «один»).
- Параметры:
- `l` - `long`, который должен быть преобразован в строку.
- Возвращает:
- строковое представление беззнакового значения `long`, представленного аргументом в двоичной системе счисления (2).
- С версии:
- JDK 1.0.2
- См. также:
- `Long.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 Парсит строковый аргумент как целое число со знаком в указанном основании, заданном вторым аргументом. Символы в строке должны быть цифрами указанного основания (как определяется тем, возвращает ли Character.digit(char, int) ненулевое значение), за исключением того, что первый символ может быть ASCII-минусом '-' ('\u002D') для обозначения отрицательного значения или ASCII-плюсом '+' ('\u002B') для обозначения положительного значения. Возвращается полученное значение целого числа.
Обратите внимание, что ни символ L ('\u004C') ни l ('\u006C') не разрешены для появления в конце строки в качестве индикатора типа, как это разрешено в исходном коде языка программирования Java — за исключением того, что любой из L или l может появиться как цифра для основания, большего или равного 22.
Исключение типа NumberFormatException выбрасывается, если выполняется любое из следующих условий:
- Первый аргумент равен null или имеет длину нуль.
- Основание меньше
Character.MIN_RADIXили большеCharacter.MAX_RADIX. - Любой символ строки не является цифрой указанного основания, за исключением того, что первый символ может быть знаком минус
'-'('\u002d') или знаком плюс'+'('\u002B') при условии, что длина строки больше 1. - Значение, представленное строкой, не является значением типа long.
Примеры:
parseLong("0", 10) returns 0L
parseLong("473", 10) returns 473L
parseLong("+42", 10) returns 42L
parseLong("-0", 10) returns 0L
parseLong("-FF", 16) returns -255L
parseLong("1100110", 2) returns 102L
parseLong("99", 8) throws a NumberFormatException
parseLong("Hazelnut", 10) throws a NumberFormatException
parseLong("Hazelnut", 36) returns 1356099454469L
- Параметры:
-
s- строка, содержащая строковое представление целого числа для парсинга. -
radix- основание, используемое при парсинге целого числа. - Возвращает:
- целое число, представленное строковым аргументом в указанном основании.
- Исключения:
-
NumberFormatException- если строка не содержит parsable целое число.
parseLong
public static long parseLong(String s)
throws NumberFormatException Парсит строковый аргумент как целое десятичное число со знаком. Символы в строке должны быть десятичными цифрами, за исключением того, что первый символ может быть ASCII-минусом '-' (\u002D') для обозначения отрицательного значения или ASCII-плюсом '+' ('\u002B') для обозначения положительного значения. Возвращается полученное значение целого числа, как если бы аргумент и основание 10 были переданы в метод parseLong(java.lang.String, int).
Обратите внимание, что ни символ L ('\u004C') ни l ('\u006C') не разрешены для появления в конце строки в качестве индикатора типа, как это разрешено в исходном коде языка программирования Java.
- Параметры:
-
s- строка, содержащая строковое представление целого числа для парсинга. - Возвращает:
- целое число, представленное аргументом в десятичной системе.
- Исключения:
-
NumberFormatException- если строка не содержит parsable целое число.
parseUnsignedLong
public static long parseUnsignedLong(String s,
int radix)
throws NumberFormatException Парсит строковый аргумент как беззначное целое число в указанном основании, заданном вторым аргументом. Беззнаковое целое число отображает значения, обычно связанные с отрицательными числами, в положительные числа, большие, чем MAX_VALUE. Символы в строке должны быть цифрами указанного основания (как определяется тем, возвращает ли Character.digit(char, int) ненулевое значение), за исключением того, что первый символ может быть ASCII-плюсом '+' ('\u002B'). Возвращается полученное целочисленное значение.
Исключение типа NumberFormatException выбрасывается, если выполняется любое из следующих условий:
- Первый аргумент равен null или имеет длину нуль.
- Основание меньше
Character.MIN_RADIXили большеCharacter.MAX_RADIX. - Любой символ строки не является цифрой указанного основания, за исключением того, что первый символ может быть знаком плюс
'+'('\u002B') при условии, что длина строки больше 1. - Представленное строкой значение больше наибольшего беззнакового целого числа, 264-1.
- Параметры:
-
s- строка, содержащая беззначное строковое представление целого числа для парсинга. -
radix- основание, используемое при парсинге беззнакового целого числа. - Возвращает:
- беззнаковое целое число, представленное строковым аргументом в указанном основании.
- Исключения:
-
NumberFormatException- если строка не содержит parsable беззнаковое целое число. - С:
- 1.8
parseUnsignedLong
public static long parseUnsignedLong(String s)
throws NumberFormatException Парсит строковый аргумент как беззначное десятичное целое число. Символы в строке должны быть десятичными цифрами, за исключением того, что первый символ может быть ASCII-плюсом '+' ('\u002B'). Возвращается полученное целочисленное значение, точно так же, как если бы аргумент и основание 10 были переданы в метод parseUnsignedLong(java.lang.String, int).
- Параметры:
-
s- строка, содержащая беззначное строковое представление целого числа для парсинга. - Возвращает:
- беззнаковое целое число, представленное десятичной строкой аргумента.
- Исключения:
-
NumberFormatException- если строка не содержит parsable беззнаковое целое число. - С:
- 1.8
valueOf
public static Long valueOf(String s,
int radix)
throws NumberFormatException Возвращает объект Long, содержащий значение, извлечённое из указанной строки, при парсинге с указанным основанием. Первый аргумент интерпретируется как представляющий целое число со знаком в основании, указанном вторым аргументом, точно так же, как если бы аргументы были переданы в метод parseLong(java.lang.String, int). Результат — объект Long, представляющий значение целого числа, указанное в строке.
Другими словами, этот метод возвращает объект Long, равный значению:
new Long(Long.parseLong(s, radix))
- Параметры:
-
s- строка, подлежащая парсингу. -
radix- основание, используемое для интерпретации строки. - Возвращает:
- объект Long, содержащий значение, представленное строковым аргументом в указанном основании.
- Исключения:
-
NumberFormatException- Если строка не содержит parsable целое число.
valueOf
public static Long valueOf(String s)
throws NumberFormatException Возвращает объект 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), так как этот метод, вероятно, обеспечит значительно лучшие пространственные и временные характеристики, кэшируя часто запрашиваемые значения. Обратите внимание, что в отличие от соответствующего метода в классе Integer, этот метод не обязан кешировать значения в определенном диапазоне.
- Параметры:
-
l- значение типа long. - Возвращает:
- экземпляр Long, представляющий long.
- С:
- 1.5
decode
public static Long decode(String nm)
throws NumberFormatException Декодирует String в Long. Принимает десятичные, шестнадцатеричные и восьмеричные числа, заданные следующей грамматикой:
- ДекодируемаяСтрока:
-
Знакопт ДесятичноеЧисло
- Знакопт
0xШестнадцатеричныеЦифры- Знакопт
0XШестнадцатеричныеЦифры- Знакопт
#ШестнадцатеричныеЦифры- Знакопт
0ВосьмеричныеЦифры - Знакопт
- Знак:
-
-+
Последовательность символов после необязательного знака и/или спецификатора основания ("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()
Возвращает строковый объект, представляющий значение этого 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- имя переменной. - Возвращает:
- значение
Longпеременной. - Исключение:
-
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 представляющий это значение.
Второй аргумент — значение по умолчанию. Если переменной с заданным именем нет, если переменная не имеет правильного числового формата, или если имя пустое или null, возвращается объект Long, представляющий значение второго аргумента.
Другими словами, этот метод возвращает объект Long равный значению:
getLong(nm, new Long(val))но на практике он может быть реализован так:
Long result = getLong(nm, null); return (result == null) ? new Long(val) : result;для избежания ненужного выделения объекта
Long когда значение по умолчанию не нужно.- Параметры:
-
nm- имя переменной. -
val- значение по умолчанию. - Возвращает:
- значение
Longпеременной. - Исключение:
-
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:
- значение переменной типа
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:
- ноль, если этот объект
Longравен аргументуLong; значение меньше нуля, если этот объектLongчисленно меньше аргументаLong; и значение больше нуля, если этот объект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:
- ноль, если
x == y; значение меньше нуля, еслиx < y; и значение больше нуля, еслиx > y - Since:
- 1.7
compareUnsigned
public static int compareUnsigned(long x,
long y) Сравнивает два значения long численно, рассматривая их как беззнаковые.
- Parameters:
-
x- первое значениеlongдля сравнения -
y- второе значениеlongдля сравнения - Returns:
- ноль, если
x == y; значение меньше нуля, еслиx < yкак беззнаковые значения; и значение больше нуля, если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).
- Параметры:
-
i- значение, биты которого необходимо сдвинуть вправо -
distance- число позиций битов для сдвига вправо - Возвращает:
- значение, полученное путем циклического сдвига битовой записи числа со знаком, взятого от указанного значения
longна указанное количество бит вправо. - С:
- 1.5
reverse
public static long reverse(long i)
Возвращает значение, полученное путем изменения порядка битов в битовой записи числа со знаком, взятого от указанного значения long.
- Параметры:
-
i- значение, которое нужно перевернуть - Возвращает:
- значение, полученное путем изменения порядка битов в указанном значении
long. - С:
- 1.5
signum
public static int signum(long i)
Возвращает функцию знака для указанного значения long. (Возвращаемое значение равно -1, если указанное значение отрицательное; 0, если указанное значение равно нулю; и 1, если указанное значение положительное.)
- Параметры:
-
i- значение, для которого необходимо вычислить функцию знака - Возвращает:
- функция знака для указанного значения
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.