Spec-Zone.ru › OpenJDK 17

Класс HexFormat

java.lang.Object
java.util.HexFormat
public final class HexFormat extends Object
HexFormat преобразует байты и символы в строки, закодированные в шестнадцатеричном формате, которые могут включать дополнительную разметку форматирования, такую как префиксы, суффиксы и разделители.

Существуют два фабричных метода HexFormat с предопределенными параметрами of() и ofDelimiter(delimiter). Для других комбинаций параметров методы withXXX возвращают копии HexFormat с измененными withPrefix(String), withSuffix(String), withDelimiter(String) или выбором параметров withUpperCase() или withLowerCase().

Для преобразования примитивных типов в шестнадцатеричные строки методы toHexDigits включают toHexDigits(byte), toHexDigits(int) и toHexDigits(long) и т. д. По умолчанию используются строчные символы "0-9","a-f". Для преобразований, создающих шестнадцатеричные символы в верхнем регистре, используются символы "0-9","A-F". Учитывается только параметр HexFormat.isUpperCase(); разделитель, префикс и суффикс не используются.

Для преобразования шестнадцатеричных строк в примитивные типы методы fromHexDigits включают fromHexDigits(string), fromHexDigitsToLong(string) и fromHexDigit(int), который преобразует один символ или код символа. При преобразовании из шестнадцатеричных символов цифры и символы верхнего и нижнего регистра в "0-9", "a-f", and "A-F" преобразуются в соответствующие значения 0-15. Разделитель, префикс, суффикс и параметр верхнего регистра не используются.

Для преобразования массивов байтов в форматированные шестнадцатеричные строки методы formatHex включают formatHex(byte[]) и formatHex(Appendable, byte[]). Отформатированный вывод — это строка или она добавляется к Appendable, например, StringBuilder или PrintStream. Каждое значение байта форматируется как префикс, две шестнадцатеричные цифры из цифр верхнего или нижнего регистра и суффикс. Разделитель следует за каждым отформатированным значением, кроме последнего. Для преобразований, производящих шестнадцатеричные строки в верхнем регистре, используйте withUpperCase().

Для преобразования форматированных шестнадцатеричных строк в массивы байтов методы parseHex включают parseHex(CharSequence) и parseHex(char[], offset, length). Каждое значение байта анализируется по префиксу, двум нечувствительным к регистру шестнадцатеричным символам и суффиксу. Разделитель следует за каждым отформатированным значением, кроме последнего.

API Note:
Например, отдельный байт преобразуется в строку шестнадцатеричных цифр с помощью toHexDigits(int) и преобразуется из строки в примитивное значение с помощью fromHexDigits(string).

     HexFormat hex = HexFormat.of();
     byte b = 127;
     String byteStr = hex.toHexDigits(b);

     byte byteVal = (byte)hex.fromHexDigits(byteStr);
     assert(byteStr.equals("7f"));
     assert(b == byteVal);

     // The hexadecimal digits are: "7f"
 

Для форматирования с разделителем запятая (", ") и префиксом ("#") с использованием строчных шестнадцатеричных цифр HexFormat выглядит так:


     HexFormat commaFormat = HexFormat.ofDelimiter(", ").withPrefix("#");
     byte[] bytes = {0, 1, 2, 3, 124, 125, 126, 127};
     String str = commaFormat.formatHex(bytes);

     byte[] parsed = commaFormat.parseHex(str);
     assert(Arrays.equals(bytes, parsed));

     // The formatted string is: "#00, #01, #02, #03, #7c, #7d, #7e, #7f"
 

Для отпечатков значений байтов, использующих разделитель двоеточие (":") и символы верхнего регистра, HexFormat выглядит так:


     HexFormat formatFingerprint = HexFormat.ofDelimiter(":").withUpperCase();
     byte[] bytes = {0, 1, 2, 3, 124, 125, 126, 127};
     String str = formatFingerprint.formatHex(bytes);
     byte[] parsed = formatFingerprint.parseHex(str);
     assert(Arrays.equals(bytes, parsed));

     // The formatted string is: "00:01:02:03:7C:7D:7E:7F"
 

Это класс значений; использование операций, чувствительных к идентификатору (включая равенство ссылок (==), хэш-код по идентификатору или синхронизацию) на экземплярах HexFormat может привести к непредсказуемым результатам и следует избегать. Для сравнений следует использовать метод equals .

Этот класс неизменяемый и потокобезопасный.

Если не указано иное, передача null-аргумента в любой метод вызовет исключение NullPointerException.

Since:
17
END_OF_DOCUMENT_MARKER

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

Модификатор и тип Метод Описание
String delimiter()
Возвращает разделитель между шестнадцатеричными значениями в отформатированных шестнадцатеричных строках.
boolean equals(Object o)
Возвращает true, если другой объект является HexFormat с теми же параметрами.
String formatHex(byte[] bytes)
Возвращает отформатированную шестнадцатеричную строку из массива байтов.
String formatHex(byte[] bytes, int fromIndex, int toIndex)
Возвращает отформатированную шестнадцатеричную строку из диапазона массива байтов.
<A extends Appendable>
A
formatHex(A out, byte[] bytes)
Добавляет отформатированные шестнадцатеричные строки из массива байтов в Appendable.
<A extends Appendable>
A
formatHex(A out, byte[] bytes, int fromIndex, int toIndex)
Добавляет отформатированные шестнадцатеричные строки из диапазона массива байтов в Appendable.
static int fromHexDigit(int ch)
Возвращает значение шестнадцатеричного символа или кода.
static int fromHexDigits(CharSequence string)
Возвращает значение int , разобранное из строки до восьми шестнадцатеричных символов.
static int fromHexDigits(CharSequence string, int fromIndex, int toIndex)
Возвращает значение int , разобранное из диапазона строки до восьми шестнадцатеричных символов.
static long fromHexDigitsToLong(CharSequence string)
Возвращает значение типа long, разобранное из строки до шестнадцати шестнадцатеричных символов.
static long fromHexDigitsToLong(CharSequence string, int fromIndex, int toIndex)
Возвращает значение типа long, разобранное из диапазона строки до шестнадцати шестнадцатеричных символов.
int hashCode()
Возвращает хэш-код для этого HexFormat.
static boolean isHexDigit(int ch)
Возвращает true, если символ является допустимым шестнадцатеричным символом или кодом.
boolean isUpperCase()
Возвращает true, если шестнадцатеричные цифры заглавные, в противном случае false.
static HexFormat of()
Возвращает шестнадцатеричный форматер без разделителя и строчных символов.
static HexFormat ofDelimiter(String delimiter)
Возвращает шестнадцатеричный форматер с разделителем и строчными символами.
byte[] parseHex(char[] chars, int fromIndex, int toIndex)
Возвращает массив байтов, содержащий шестнадцатеричные значения, разобранные из диапазона массива символов.
byte[] parseHex(CharSequence string)
Возвращает массив байтов, содержащий шестнадцатеричные значения, разобранные из строки.
byte[] parseHex(CharSequence string, int fromIndex, int toIndex)
Возвращает массив байтов, содержащий шестнадцатеричные значения, разобранные из диапазона строки.
String prefix()
Возвращает префикс, используемый для каждого шестнадцатеричного значения в отформатированных шестнадцатеричных строках.
String suffix()
Возвращает суффикс, используемый для каждого шестнадцатеричного значения в отформатированных шестнадцатеричных строках.
String toHexDigits(byte value)
Возвращает две шестнадцатеричные цифры для значения byte.
String toHexDigits(char value)
Возвращает четыре шестнадцатеричные цифры для значения char.
String toHexDigits(int value)
Возвращает восемь шестнадцатеричных цифр для значения int.
String toHexDigits(long value)
Возвращает шестнадцать шестнадцатеричных цифр для значения long.
String toHexDigits(long value, int digits)
Возвращает до шестнадцати шестнадцатеричных цифр для значения long.
String toHexDigits(short value)
Возвращает четыре шестнадцатеричные цифры для значения short.
<A extends Appendable>
A
toHexDigits(A out, byte value)
Добавляет две шестнадцатеричные цифры для значения байта в Appendable.
char toHighHexDigit(int value)
Возвращает шестнадцатеричный символ для старших 4 бит значения, рассматривая его как байт.
char toLowHexDigit(int value)
Возвращает шестнадцатеричный символ для младших 4 бит значения, рассматривая его как байт.
String toString()
Возвращает описание параметров форматера для заглавных букв, разделителя, префикса и суффикса.
HexFormat withDelimiter(String delimiter)
Возвращает копию этого HexFormat с разделителем.
HexFormat withLowerCase()
Возвращает копию этого HexFormat для использования строчных шестнадцатеричных символов.
HexFormat withPrefix(String prefix)
Возвращает копию этого HexFormat с префиксом.
HexFormat withSuffix(String suffix)
Возвращает копию этого HexFormat с суффиксом.
HexFormat withUpperCase()
Возвращает копию этого HexFormat для использования заглавных шестнадцатеричных символов.

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

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

Подробности методов

of

public static HexFormat of()
Возвращает шестнадцатеричный форматтер без разделителя и с маленькими буквами. Разделитель, префикс и суффикс пусты. Методы withDelimiter, withUpperCase, withLowerCase, withPrefix и withSuffix возвращают копии форматтеров с новыми параметрами.
Возвращает:
шестнадцатеричный форматтер без разделителя и с маленькими буквами

ofDelimiter

public static HexFormat ofDelimiter(String delimiter)
Возвращает шестнадцатеричный форматтер с разделителем и маленькими буквами. Префикс и суффикс пусты. Методы withDelimiter, withUpperCase, withLowerCase, withPrefix и withSuffix возвращают копии форматтеров с новыми параметрами.
Параметры:
delimiter - разделитель, не null, может быть пустым
Возвращает:
шестнадцатеричный форматтер с разделителем и маленькими буквами

withDelimiter

public HexFormat withDelimiter(String delimiter)
Возвращает копию этого HexFormat с разделителем.
Параметры:
delimiter - разделитель, не null, может быть пустым
Возвращает:
копию этого HexFormat с разделителем

withPrefix

public HexFormat withPrefix(String prefix)
Возвращает копию этого HexFormat с префиксом.
Параметры:
prefix - префикс, не null, может быть пустым
Возвращает:
копию этого HexFormat с префиксом

withSuffix

public HexFormat withSuffix(String suffix)
Возвращает копию этого HexFormat с суффиксом.
Параметры:
suffix - суффикс, не null, может быть пустым
Возвращает:
копию этого HexFormat с суффиксом

withUpperCase

public HexFormat withUpperCase()
Возвращает копию этого HexFormat для использования больших шестнадцатеричных символов. Большие шестнадцатеричные символы "0-9", "A-F".
Возвращает:
копию этого HexFormat с большими шестнадцатеричными символами

withLowerCase

public HexFormat withLowerCase()
Возвращает копию этого HexFormat для использования маленьких шестнадцатеричных символов. Маленькие шестнадцатеричные символы "0-9", "a-f".
Возвращает:
копию этого HexFormat с маленькими шестнадцатеричными символами

delimiter

public String delimiter()
Возвращает разделитель между шестнадцатеричными значениями в отформатированных шестнадцатеричных строках.
Возвращает:
разделитель, не null, может быть пустым ""

prefix

public String prefix()
Возвращает префикс, используемый для каждого шестнадцатеричного значения в отформатированных шестнадцатеричных строках.
Возвращает:
префикс, не null, может быть пустым ""

suffix

public String suffix()
Возвращает суффикс, используемый для каждого шестнадцатеричного значения в отформатированных шестнадцатеричных строках.
Возвращает:
суффикс, не null, может быть пустым ""

isUpperCase

public boolean isUpperCase()
Возвращает true , если шестнадцатеричные цифры заглавные, иначе false.
Возвращает:
true если шестнадцатеричные цифры заглавные, иначе false

formatHex

public String formatHex(byte[] bytes)
Возвращает шестнадцатеричную строку, отформатированную из массива байтов. Каждое значение байта форматируется как префикс, две шестнадцатеричные цифры выбранные из заглавных или строчных цифр и суффикс. Разделитель следует за каждым отформатированным значением, кроме последнего. Поведение эквивалентно formatHex(bytes, 0, bytes.length)).
Параметры:
bytes - массив байтов, не null
Возвращает:
шестнадцатеричная строка, форматирующая массив байтов

formatHex

public String formatHex(byte[] bytes, int fromIndex, int toIndex)
Возвращает шестнадцатеричную строку, отформатированную из диапазона массива байтов. Каждое значение байта форматируется как префикс, две шестнадцатеричные цифры выбранные из заглавных или строчных цифр и суффикс. Разделитель следует за каждым отформатированным значением, кроме последнего.
Параметры:
bytes - массив байтов, не null
fromIndex - начальный индекс диапазона, включительно
toIndex - конечный индекс диапазона, исключая
Возвращает:
строка, форматирующая каждый байт диапазона массива
Исключения:
IndexOutOfBoundsException - если диапазон массива выходит за пределы

formatHex

public <A extends Appendable> A formatHex(A out, byte[] bytes)
Добавляет отформатированные шестнадцатеричные строки из массива байтов в Appendable. Каждое значение байта форматируется как префикс, две шестнадцатеричные цифры выбранные из заглавных или строчных цифр и суффикс. Разделитель следует за каждым отформатированным значением, кроме последнего. Отформатированные шестнадцатеричные строки добавляются в нуле или более вызовах методов Appendable.
Параметры типа:
A - Тип Appendable
Параметры:
out - объект Appendable, не null
bytes - массив байтов
Возвращает:
объект Appendable
Исключения:
UncheckedIOException - если произошла ошибка ввода-вывода при добавлении в выходные данные

formatHex

public <A extends Appendable> A formatHex(A out, byte[] bytes, int fromIndex, int toIndex)
Добавляет отформатированные шестнадцатеричные строки из диапазона массива байтов в Appendable. Каждое значение байта форматируется как префикс, две шестнадцатеричные цифры выбранные из заглавных или строчных цифр и суффикс. Разделитель следует за каждым отформатированным значением, кроме последнего. Отформатированные шестнадцатеричные строки добавляются в нуле или более вызовах методов Appendable.
Параметры типа:
A - Тип Appendable
Параметры:
out - объект Appendable, не null
bytes - массив байтов, не null
fromIndex - начальный индекс диапазона, включительно
toIndex - конечный индекс диапазона, исключая.
Возвращает:
объект Appendable
Исключения:
IndexOutOfBoundsException - если диапазон массива выходит за пределы
UncheckedIOException - если произошла ошибка ввода-вывода при добавлении в выходные данные

parseHex

public byte[] parseHex(CharSequence string)
Возвращает массив байтов, содержащий шестнадцатеричные значения, распарсенные из строки. Каждое значение байта парсится из префикса, двух нечувствительных к регистру шестнадцатеричных символов и суффикса. Разделитель следует за каждым отформатированным значением, кроме последнего. Строки разделителей, префиксов и суффиксов должны быть присутствовать; они могут быть пустыми строками. Валидная строка состоит только из вышеуказанного формата.
Параметры:
string - строка, содержащая значения байтов с префиксом, шестнадцатеричными цифрами, суффиксом и разделителями
Возвращает:
массив байтов со значениями, распарсенными из строки
Исключения:
IllegalArgumentException - если префикс или суффикс отсутствуют для каждого значения байта, значения байтов не являются шестнадцатеричными символами, или если разделитель отсутствует после всех, кроме последнего значения байта

parseHex

public byte[] parseHex(CharSequence string, int fromIndex, int toIndex)
Возвращает массив байтов, содержащий шестнадцатеричные значения, распарсенные из диапазона строки. Каждое значение байта парсится из префикса, двух нечувствительных к регистру шестнадцатеричных символов и суффикса. Разделитель следует за каждым отформатированным значением, кроме последнего. Строки разделителей, префиксов и суффиксов должны быть присутствовать; они могут быть пустыми строками. Валидная строка состоит только из вышеуказанного формата.
Параметры:
string - диапазон строки, содержащий шестнадцатеричные цифры, разделители, префикс и суффикс.
fromIndex - начальный индекс диапазона, включительно
toIndex - конечный индекс диапазона, исключая.
Возвращает:
массив байтов со значениями, распарсенными из диапазона строки
Исключения:
IllegalArgumentException - если префикс или суффикс отсутствуют для каждого значения байта, значения байтов не являются шестнадцатеричными символами, или если разделитель отсутствует после всех, кроме последнего значения байта
IndexOutOfBoundsException - если диапазон строки выходит за пределы

parseHex

public byte[] parseHex(char[] chars, int fromIndex, int toIndex)
Возвращает массив байтов, содержащий шестнадцатеричные значения, извлеченные из диапазона символьного массива. Каждое значение байта извлекается из префикса, двух регистронезависимых шестнадцатеричных символов и суффикса. После каждого отформатированного значения следует разделитель, за исключением последнего. Строки разделителей, префиксов и суффиксов должны присутствовать; они могут быть пустыми строками. Действительный диапазон символьного массива состоит только из указанного формата.
Parameters:
chars - диапазон символьного массива, содержащий чётное число шестнадцатеричных цифр, разделителей, префикса и суффикса.
fromIndex - начальный индекс диапазона, включительно
toIndex - конечный индекс диапазона, исключая
Returns:
массив байтов со значениями, извлечёнными из диапазона символьного массива
Throws:
IllegalArgumentException - если префикс или суффикс отсутствуют для каждого значения байта, значения байтов не являются шестнадцатеричными символами, или если разделитель отсутствует после всех, кроме последнего значения байта
IndexOutOfBoundsException - если диапазон символьного массива выходит за пределы

toLowHexDigit

public char toLowHexDigit(int value)
Возвращает шестнадцатеричный символ для младших 4 битов значения, рассматривая его как байт. Если параметр isUpperCase() равен true, возвращаемый символ для значений 10-15 будет заглавным "A-F", в противном случае возвращаемый символ будет строчным "a-f". Значения в диапазоне 0-9 возвращаются как "0-9".
Parameters:
value - значение; используются только младшие 4 бита 0-3 значения
Returns:
шестнадцатеричный символ для младших 4 битов 0-3 значения

toHighHexDigit

public char toHighHexDigit(int value)
Возвращает шестнадцатеричный символ для старших 4 битов значения, рассматривая его как байт. Если параметр isUpperCase() равен true, возвращаемый символ для значений 10-15 будет заглавным "A-F", в противном случае возвращаемый символ будет строчным "a-f". Значения в диапазоне 0-9 возвращаются как "0-9".
Parameters:
value - значение; используются только биты 4-7 значения
Returns:
шестнадцатеричный символ для битов 4-7 значения

toHexDigits

public <A extends Appendable> A toHexDigits(A out, byte value)
Добавляет два шестнадцатеричных символа для значения байта к Appendable. Каждый бит (4 бита) от старшего к младшему из значения форматируется так же, как и в toLowHexDigit(nibble). Шестнадцатеричные символы добавляются в одном или нескольких вызовах методов Appendable. Разделитель, префикс и суффикс не используются.
Type Parameters:
A - Тип Appendable
Parameters:
out - Appendable, не null
value - значение байта
Returns:
Appendable
Throws:
UncheckedIOException - если при добавлении в вывод возникает исключение I/O

toHexDigits

public String toHexDigits(byte value)
Возвращает два шестнадцатеричных символа для byte значения. Каждый бит (4 бита) от старшего к младшему из значения форматируется так же, как и в toLowHexDigit(nibble). Разделитель, префикс и суффикс не используются.
Parameters:
value - значение байта
Returns:
два шестнадцатеричных символа для значения байта

toHexDigits

public String toHexDigits(char value)
Возвращает четыре шестнадцатеричных символа для char значения. Каждый бит (4 бита) от старшего к младшему из значения форматируется так же, как и в toLowHexDigit(nibble). Разделитель, префикс и суффикс не используются.
Parameters:
value - значение char
Returns:
четыре шестнадцатеричных символа для char значения

toHexDigits

public String toHexDigits(short value)
Возвращает четыре шестнадцатеричных символа для short значения. Каждый бит (4 бита) от старшего к младшему из значения форматируется так же, как и в toLowHexDigit(nibble). Разделитель, префикс и суффикс не используются.
Parameters:
value - значение short
Returns:
четыре шестнадцатеричных символа для short значения

toHexDigits

public String toHexDigits(int value)
Возвращает восемь шестнадцатеричных символов для int значения. Каждый бит (4 бита) от старшего к младшему из значения форматируется так же, как и в toLowHexDigit(nibble). Разделитель, префикс и суффикс не используются.
Parameters:
value - значение int
Returns:
восемь шестнадцатеричных символов для int значения
See Also:
  • Integer.toHexString(int)

toHexDigits

public String toHexDigits(long value)
Возвращает шестнадцать шестнадцатеричных символов для long значения. Каждый бит (4 бита) от старшего к младшему из значения форматируется так же, как и в toLowHexDigit(nibble). Разделитель, префикс и суффикс не используются.
Parameters:
value - значение long
Returns:
шестнадцать шестнадцатеричных символов для long значения
See Also:
  • Long.toHexString(long)

toHexDigits

public String toHexDigits(long value, int digits)
Возвращает до шестнадцати шестнадцатеричных символов для long значения. Каждый бит (4 бита) от старшего к младшему из значения форматируется так же, как и в toLowHexDigit(nibble). Разделитель, префикс и суффикс не используются.
Parameters:
value - значение long
digits - количество шестнадцатеричных цифр для возврата, от 0 до 16
Returns:
шестнадцатеричные символы для long значения
Throws:
IllegalArgumentException - если digits отрицательное или больше 16

isHexDigit

public static boolean isHexDigit(int ch)
Возвращает true, если символ является допустимым шестнадцатеричным символом или кодовым значением. Допустимые шестнадцатеричные символы:
  • '0' ('\u0030') по '9' ('\u0039') включительно,
  • 'A' ('\u0041') по 'F' ('\u0046') включительно, и
  • 'a' ('\u0061') по 'f' ('\u0066') включительно.
Parameters:
ch - кодовое значение
Returns:
true если символ является допустимым шестнадцатеричным символом, в противном случае false

fromHexDigit

public static int fromHexDigit(int ch)
Возвращает значение для шестнадцатеричного символа или кодового значения. Значение:
  • (ch - '0') для '0' по '9' включительно,
  • (ch - 'A' + 10) для 'A' по 'F' включительно, и
  • (ch - 'a' + 10) для 'a' по 'f' включительно.
Parameters:
ch - символ или кодовое значение
Returns:
значение 0-15
Throws:
NumberFormatException - если кодовое значение не является шестнадцатеричным символом

fromHexDigits

public static int fromHexDigits(CharSequence string)
Возвращает int значение, извлечённое из строки до восьми шестнадцатеричных символов. Шестнадцатеричные символы извлекаются от старшего к младшему с помощью fromHexDigit(int) для формирования беззнакового значения. Значение расширяется до 32 бит и возвращается как int.
API Note:
Integer.parseInt(s, 16) и Integer.parseUnsignedInt(s, 16) аналогичны, но допускают все шестнадцатеричные цифры Unicode, определённые Character.digit(ch, 16). HexFormat использует только шестнадцатеричные символы "0-9", "A-F" и "a-f". Знаковые шестнадцатеричные строки можно анализировать с помощью Integer.parseInt(String, int).
Parameters:
string - CharSequence, содержащая до восьми шестнадцатеричных символов
Returns:
значение, извлечённое из строки
Throws:
IllegalArgumentException - если длина строки больше восьми (8) или любой из символов не является шестнадцатеричным символом

fromHexDigits

public static int fromHexDigits(CharSequence string, int fromIndex, int toIndex)
Возвращает значение, int из диапазона строк до восьми шестнадцатеричных символов. Символы в диапазоне fromIndex до toIndex, исключая границы, преобразуются от старшего к младшему с использованием fromHexDigit(int) для формирования беззнакового значения. Значение расширяется до 32 бит с нулями и возвращается как int.
API Note:
Integer.parseInt(s, 16) и Integer.parseUnsignedInt(s, 16) аналогичны, но позволяют использовать все Unicode шестнадцатеричные цифры, определённые в Character.digit(ch, 16). HexFormat использует только шестнадцатеричные символы "0-9", "A-F" и "a-f". Для парсинга знаковых шестнадцатеричных строк можно использовать Integer.parseInt(String, int).
Parameters:
string - a CharSequence, содержащий символы
fromIndex - начальный индекс диапазона (включительно)
toIndex - конечный индекс диапазона (исключительно).
Returns:
значение, преобразованное из диапазона строки
Throws:
IndexOutOfBoundsException - если диапазон выходит за пределы допустимого для CharSequence
IllegalArgumentException - если длина диапазона больше восьми (8) или любой из символов не является шестнадцатеричным символом

fromHexDigitsToLong

public static long fromHexDigitsToLong(CharSequence string)
Возвращает значение long, преобразованное из строки, содержащей до шестнадцати шестнадцатеричных символов. Шестнадцатеричные символы преобразуются от старшего к младшему с использованием fromHexDigit(int) для формирования беззнакового значения. Значение расширяется до 64 бит с нулями и возвращается как long.
API Note:
Long.parseLong(s, 16) и Long.parseUnsignedLong(s, 16) аналогичны, но позволяют использовать все Unicode шестнадцатеричные цифры, определённые в Character.digit(ch, 16). HexFormat использует только шестнадцатеричные символы "0-9", "A-F" и "a-f". Для парсинга знаковых шестнадцатеричных строк можно использовать Long.parseLong(String, int).
Parameters:
string - a CharSequence, содержащая до шестнадцати шестнадцатеричных символов
Returns:
значение, преобразованное из строки
Throws:
IllegalArgumentException - если длина строки больше шестнадцати (16) или любой из символов не является шестнадцатеричным символом

fromHexDigitsToLong

public static long fromHexDigitsToLong(CharSequence string, int fromIndex, int toIndex)
Возвращает значение long, преобразованное из диапазона строк до шестнадцати шестнадцатеричных символов. Символы в диапазоне fromIndex до toIndex, исключая границы, преобразуются от старшего к младшему с использованием fromHexDigit(int) для формирования беззнакового значения. Значение расширяется до 64 бит с нулями и возвращается как long.
API Note:
Long.parseLong(s, 16) и Long.parseUnsignedLong(s, 16) аналогичны, но позволяют использовать все Unicode шестнадцатеричные цифры, определённые в Character.digit(ch, 16). HexFormat использует только шестнадцатеричные символы "0-9", "A-F" и "a-f". Для парсинга знаковых шестнадцатеричных строк можно использовать Long.parseLong(String, int).
Parameters:
string - a CharSequence, содержащий символы
fromIndex - начальный индекс диапазона (включительно)
toIndex - конечный индекс диапазона (исключительно).
Returns:
значение, преобразованное из диапазона строки
Throws:
IndexOutOfBoundsException - если диапазон выходит за пределы допустимого для CharSequence
IllegalArgumentException - если длина диапазона больше шестнадцати (16) или любой из символов не является шестнадцатеричным символом

equals

public boolean equals(Object o)
Возвращает true , если другой объект является HexFormat с теми же параметрами.
Overrides:
equals в классе Object
Parameters:
o - объект, может быть null
Returns:
true если другой объект является HexFormat и параметры uppercase, delimiter, prefix, и suffix равны; иначе false
See Also:
  • Object.hashCode()
  • HashMap

hashCode

public int hashCode()
Возвращает хэш-код для данного HexFormat.
Overrides:
hashCode в классе Object
Returns:
хэш-код для данного HexFormat
See Also:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

toString

public String toString()
Возвращает описание параметров форматирования для uppercase, delimiter, prefix и suffix.
Overrides:
toString в классе Object
Returns:
описание этого HexFormat

© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/HexFormat.html

Spec-Zone.ru

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