Spec-Zone.ru › OpenJDK 27

Класс 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) основаны на материалах из книг Генри С. Уоррена-младшего Hacker's Delight (Addison Wesley, 2002) и Hacker's Delight, Second Edition (Pearson Education, 2013).

Начиная с версии:
1.0
См. также:
  • Сериализованная форма

Краткое описание полей

Модификатор и тип Поле Описание
static final int BYTES
Количество байтов, используемых для представления значения long в двоичной форме с дополнением до двух.
static final long MAX_VALUE
Константа, содержащая максимальное значение, которое может принимать long: 263-1.
static final long MIN_VALUE
Константа, содержащая минимальное значение, которое может принимать long: -263.
static final int SIZE
Количество битов, используемых для представления значения long в двоичной форме с дополнением до двух.
static final Class<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 compress(long i, long mask)
Возвращает значение, полученное сжатием битов указанного значения long, i, в соответствии с заданной битовой маской.
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)
Сравнивает этот объект с указанным объектом.
static long expand(long i, long mask)
Возвращает значение, полученное расширением битов указанного значения long, i, в соответствии с заданной битовой маской.
float floatValue()
Возвращает значение этого Long как float после расширяющего преобразования примитивного типа.
static Long getLong(String nm)
Определяет значение long системного свойства с указанным именем.
static Long getLong(String nm, long val)
Определяет значение long системного свойства с указанным именем.
static Long getLong(String nm, Long val)
Возвращает значение long системного свойства с указанным именем.
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)
Возвращает беззнаковый остаток от деления первого аргумента на второй, интерпретируя каждый аргумент и результат как беззнаковое значение.
Long resolveConstantDesc(MethodHandles.Lookup lookup)
Разрешает этот экземпляр как ConstantDesc; результатом является сам экземпляр.
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)
Возвращает функцию знака указанного значения long.
static long sum(long a, long b)
Складывает два значения long, как это делает оператор +.
static String toBinaryString(long i)
Возвращает строковое представление аргумента long как беззнакового целого числа в системе счисления с основанием 2.
static String toHexString(long i)
Возвращает строковое представление аргумента long как беззнакового целого числа в системе счисления с основанием 16.
static String toOctalString(long i)
Возвращает строковое представление аргумента long как беззнакового целого числа в системе счисления с основанием 8.
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 при его разборе в системе счисления, заданной вторым аргументом.

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

clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и может быть удалена в будущей версии.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством вызова notify или interrupt.
final void wait(long timeoutMillis)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно посредством вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

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

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
Устарел.
Использовать этот конструктор обычно нецелесообразно. Для преобразования строки в примитив long используйте parseLong(String), а для преобразования строки в объект Long используйте valueOf(String).
Создает новый выделенный объект Long, представляющий значение long, указанное параметром String. Строка преобразуется в значение long точно так же, как это делает метод parseLong для системы счисления с основанием 10.
Параметры:
s — значение String, которое необходимо преобразовать в Long.
Исключения:
NumberFormatException — если String не содержит разбираемое значение 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()
Примечание 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 как беззнакового целого числа в системе счисления с основанием 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 не содержит разбираемое значение long в указанной системе счисления radix или если radix меньше Character.MIN_RADIX либо больше Character.MAX_RADIX.
Начиная с:
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.

Параметры:
s — объект String, содержащий представление long, которое необходимо разобрать
Возвращает:
значение long, представленное аргументом в десятичной системе счисления.
Исключения:
NumberFormatException — если строка не содержит разбираемое значение long.

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

Long.valueOf(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, равный значению:

Long.valueOf(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. Принимает десятичные, шестнадцатеричные и восьмеричные числа, соответствующие следующей грамматике:
DecodableString:
Signopt DecimalNumeral
Signopt 0x HexDigits
Signopt 0X HexDigits
Signopt # HexDigits
Signopt 0 OctalDigits
Sign:
-
+
DecimalNumeral, HexDigits и OctalDigits определены в разделе §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.
См. Спецификацию языка Java:
5.1.3 Сужающее преобразование примитивного типа

shortValue

public short shortValue()
Возвращает значение этого Long как short после сужающего преобразования примитивного типа.
Переопределяет:
shortValue в классе Number
Возвращает:
числовое значение, представленное этим объектом, после преобразования к типу short.
См. Спецификацию языка Java:
5.1.3 Сужающее преобразование примитивного типа

intValue

public int intValue()
Возвращает значение этого Long как int после сужающего преобразования примитивного типа.
Определено в:
intValue в классе Number
Возвращает:
числовое значение, представленное этим объектом, после преобразования к типу int.
См. Спецификацию языка Java:
5.1.3 Сужающее преобразование примитивного типа

longValue

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

floatValue

public float floatValue()
Возвращает значение этого Long как float после расширяющего преобразования примитивного типа.
Определено в:
floatValue в классе Number
Возвращает:
числовое значение, представленное этим объектом, после преобразования к типу float.
См. Спецификацию языка Java:
5.1.2 Расширяющее преобразование примитивного типа

doubleValue

public double doubleValue()
Возвращает значение этого Long как double после расширяющего преобразования примитивного типа.
Определено в:
doubleValue в классе Number
Возвращает:
числовое значение, представленное этим объектом, после преобразования к типу double.
См. Спецификацию языка Java:
5.1.2 Расширяющее преобразование примитивного типа

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(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)
Определяет значение long системного свойства с указанным именем.

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

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

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

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

Параметры:
nm — имя свойства.
val — значение по умолчанию.
Возвращает:
значение свойства типа Long.
См. также:
  • System.getProperty(java.lang.String)
  • System.getProperty(java.lang.String, java.lang.String)

compareTo

public int compareTo(Long anotherLong)
Сравнивает два объекта Long численно.
Определено в:
compareTo в интерфейсе Comparable<Long>
Параметры:
anotherLong — Long для сравнения.
Возвращает:
значение 0, если этот Long равен аргументу Long; значение меньше 0, если этот Long численно меньше аргумента Long; и значение больше 0, если этот Long численно больше аргумента Long (сравнение со знаком).
С версии:
1.2

compare

public static int compare(long x, long y)
Сравнивает численно два значения long. Возвращаемое значение совпадает со значением, которое вернуло бы выражение:
   Long.valueOf(x).compareTo(Long.valueOf(y))
Параметры:
x — первое значение long для сравнения
y — второе значение long для сравнения
Возвращает:
значение 0, если x == y; значение меньше 0, если x < y; и значение больше 0, если x > y
С версии:
1.7

compareUnsigned

public static int compareUnsigned(long x, long y)
Сравнивает численно два значения long, рассматривая их как беззнаковые.
Параметры:
x — первое значение long для сравнения
y — второе значение long для сравнения
Возвращает:
значение 0, если x == y; значение меньше 0, если x < y как беззнаковые значения; и значение больше 0, если x > y как беззнаковые значения
С версии:
1.8

divideUnsigned

public static long divideUnsigned(long dividend, long divisor)
Возвращает беззнаковое частное от деления первого аргумента на второй, рассматривая каждый аргумент и результат как беззнаковое значение.

Обратите внимание, что в арифметике с дополнительным кодом три остальные основные арифметические операции — сложение, вычитание и умножение — побитово идентичны, если оба операнда рассматриваются как знаковые или как беззнаковые. Поэтому отдельные методы addUnsigned и т. п. не предоставляются.

Параметры:
dividend — делимое
divisor — делитель
Возвращает:
беззнаковое частное от деления первого аргумента на второй
Выбрасывает:
ArithmeticException — если делитель равен нулю
С версии:
1.8
См. также:
  • remainderUnsigned(long, long)

remainderUnsigned

public static long remainderUnsigned(long dividend, long divisor)
Возвращает беззнаковый остаток от деления первого аргумента на второй, рассматривая каждый аргумент и результат как беззнаковое значение.
Параметры:
dividend — делимое
divisor — делитель
Возвращает:
беззнаковый остаток от деления первого аргумента на второй
Выбрасывает:
ArithmeticException — если делитель равен нулю
С версии:
1.8
См. также:
  • divideUnsigned(long, long)

highestOneBit

public static long highestOneBit(long i)
Возвращает значение long не более чем с одним установленным битом — в позиции старшего («самого левого») установленного бита указанного значения long. Возвращает ноль, если в двоичном представлении указанного значения в дополнительном коде нет установленных битов, то есть если оно равно нулю.
Параметры:
i — значение, для которого нужно вычислить позицию старшего установленного бита
Возвращает:
значение long с одним установленным битом в позиции старшего установленного бита указанного значения либо ноль, если указанное значение равно нулю.
С версии:
1.5

lowestOneBit

public static long lowestOneBit(long i)
Возвращает значение long не более чем с одним установленным битом — в позиции младшего («самого правого») установленного бита указанного значения long. Возвращает ноль, если в двоичном представлении указанного значения в дополнительном коде нет установленных битов, то есть если оно равно нулю.
Параметры:
i — значение, для которого нужно вычислить позицию младшего установленного бита
Возвращает:
значение long с одним установленным битом в позиции младшего установленного бита указанного значения либо ноль, если указанное значение равно нулю.
С версии:
1.5

numberOfLeadingZeros

public static int numberOfLeadingZeros(long i)
Возвращает количество нулевых битов перед старшим («самым левым») установленным битом в двоичном представлении указанного значения long в дополнительном коде. Возвращает 64, если в представлении указанного значения в дополнительном коде нет установленных битов, то есть если оно равно нулю.

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

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

numberOfTrailingZeros

public static int numberOfTrailingZeros(long i)
Возвращает количество нулевых битов после младшего («самого правого») установленного бита в двоичном представлении указанного значения long в дополнительном коде. Возвращает 64, если в представлении указанного значения в дополнительном коде нет установленных битов, то есть если оно равно нулю.
Параметры:
i — значение, для которого нужно вычислить количество конечных нулей
Возвращает:
количество нулевых битов после младшего («самого правого») установленного бита в двоичном представлении указанного значения long в дополнительном коде либо 64, если значение равно нулю.
С версии:
1.5

bitCount

public static int bitCount(long i)
Возвращает количество единичных битов в двоичном представлении указанного значения long в дополнительном коде. Эта функция иногда называется подсчётом единиц.
Параметры:
i — значение, биты которого нужно подсчитать
Возвращает:
количество единичных битов в двоичном представлении указанного значения long в дополнительном коде.
С версии:
1.5

rotateLeft

public static long rotateLeft(long i, int distance)
Возвращает значение, полученное циклическим сдвигом влево двоичного представления указанного значения long в дополнительном коде на заданное количество битов. (Биты, вытесненные с левой, или старшей, стороны, возвращаются справа, или со стороны младших разрядов.)

Обратите внимание: циклический сдвиг влево на отрицательное расстояние эквивалентен циклическому сдвигу вправо: rotateLeft(val, -distance) == rotateRight(val, distance). Кроме того, циклический сдвиг на любое число, кратное 64, ничего не меняет, поэтому можно игнорировать все биты расстояния сдвига, кроме последних шести, даже если расстояние отрицательное: rotateLeft(val, distance) == rotateLeft(val, distance & 0x3F).

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

rotateRight

public static long rotateRight(long i, int distance)
Возвращает значение, полученное циклическим сдвигом вправо двоичного представления указанного значения long в дополнительном коде на заданное количество битов. (Биты, вытесненные с правой, или младшей, стороны, возвращаются слева, или со стороны старших разрядов.)

Обратите внимание: циклический сдвиг вправо на отрицательное расстояние эквивалентен циклическому сдвигу влево: rotateRight(val, -distance) == rotateLeft(val, distance). Кроме того, циклический сдвиг на любое число, кратное 64, ничего не меняет, поэтому можно игнорировать все биты расстояния сдвига, кроме последних шести, даже если расстояние отрицательное: rotateRight(val, distance) == rotateRight(val, distance & 0x3F).

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

reverse

public static long reverse(long i)
Возвращает значение, полученное обращением порядка битов в двоичном представлении указанного значения long в дополнительном коде.
Параметры:
i — значение для обращения
Возвращает:
значение, полученное обращением порядка битов в указанном значении long.
С версии:
1.5

compress

public static long compress(long i, long mask)
Возвращает значение, полученное сжатием битов указанного значения long, i, в соответствии с заданной битовой маской.

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

Примечание к API:
Рассмотрим простой случай сжатия цифр шестнадцатеричного значения:
// Compressing drink to food
compress(0xCAFEBABEL, 0xFF00FFF0L) == 0xCABABL
Начиная с младшей шестнадцатеричной цифры в позиции 0 справа, маска 0xFF00FFF0 выбирает шестнадцатеричные цифры в позициях 1, 2, 3, 6 и 7 значения 0xCAFEBABE. Выбранные цифры располагаются в результирующем сжатом значении подряд, начиная с позиции 0, в том же порядке.

Следующие тождества возвращают true и помогают понять поведение compress:

// Returns 1 if the bit at position n is one
compress(x, 1L << n) == (x >> n & 1)

// Logical shift right
compress(x, -1L << n) == x >>> n

// Any bits not covered by the mask are ignored
compress(x, m) == compress(x & m, m)

// Compressing a value by itself
compress(m, m) == (m == -1 || m == 0) ? m : (1L << bitCount(m)) - 1

// Expanding then compressing with the same mask
compress(expand(x, m), m) == x & compress(m, m)

Операцию Sheep And Goats (SAG; «овцы и козы», см. Hacker's Delight, второе издание, раздел 7.7) можно реализовать следующим образом:

long compressLeft(long i, long mask) {
    // This implementation follows the description in Hacker's Delight which
    // is informative. A more optimal implementation is:
    //   Long.compress(i, mask) << -Long.bitCount(mask)
    return Long.reverse(
        Long.compress(Long.reverse(i), Long.reverse(mask)));
}

long sag(long i, long mask) {
    return compressLeft(i, mask) | Long.compress(i, ~mask);
}

// Separate the sheep from the goats
sag(0x00000000_CAFEBABEL, 0xFFFFFFFF_FF00FFF0L) == 0x00000000_CABABFEEL
Параметры:
i — значение, биты которого нужно сжать
mask — битовая маска
Возвращает:
сжатое значение
С версии:
19
См. также:
  • expand(long, long)

expand

public static long expand(long i, long mask)
Возвращает значение, полученное расширением битов указанного значения long, i, в соответствии с заданной битовой маской.

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

Примечание к API:
Рассмотрим простой случай расширения цифр шестнадцатеричного значения:
expand(0x0000CABABL, 0xFF00FFF0L) == 0xCA00BAB0L
Начиная с младшей шестнадцатеричной цифры в позиции 0 справа, маска 0xFF00FFF0 выбирает первые пять шестнадцатеричных цифр значения 0x0000CABAB. Выбранные цифры располагаются в результирующем расширенном значении по порядку в позициях 1, 2, 3, 6 и 7.

Следующие тождества возвращают true и помогают понять поведение expand:

// Logically shift right the bit at position 0
expand(x, 1L << n) == (x & 1) << n

// Logically shift right
expand(x, -1L << n) == x << n

// Expanding all bits returns the mask
expand(-1L, m) == m

// Any bits not covered by the mask are ignored
expand(x, m) == expand(x, m) & m

// Compressing then expanding with the same mask
expand(compress(x, m), m) == x & m

Операцию выбора для определения позиции установленного бита с индексом n в значении long можно реализовать следующим образом:

long select(long i, long n) {
    // the one-bit in i (the mask) with index n
    long nthBit = Long.expand(1L << n, i);
    // the bit position of the one-bit with index n
    return Long.numberOfTrailingZeros(nthBit);
}

// The one-bit with index 0 is at bit position 1
select(0b10101010_10101010, 0) == 1
// The one-bit with index 3 is at bit position 7
select(0b10101010_10101010, 3) == 7
Параметры:
i — значение, биты которого нужно расширить
mask — битовая маска
Возвращает:
расширенное значение
С версии:
19
См. также:
  • compress(long, long)

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

describeConstable

public Optional<Long> describeConstable()
Возвращает Optional, содержащий номинальный дескриптор этого экземпляра, которым является сам экземпляр.
Определено в:
describeConstable в интерфейсе Constable
Возвращает:
Optional, описывающий экземпляр Long
С версии:
12

resolveConstantDesc

public Long resolveConstantDesc(MethodHandles.Lookup lookup)
Разрешает этот экземпляр как ConstantDesc; результатом является сам экземпляр.
Определено в:
resolveConstantDesc в интерфейсе ConstantDesc
Параметры:
lookup — игнорируется
Возвращает:
экземпляр Long
С версии:
12

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

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