Spec-Zone.ru › OpenJDK 21

Класс 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

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

Модификатор и тип Метод Описание
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, может быть пустым
Возвращает:
a HexFormat с разделителем и символами в нижнем регистре

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)
Возвращает массив байтов, содержащий шестнадцатеричные значения, извлечённые из диапазона символьного массива. Каждое значение байта извлекается из префикса, двух регистронезависимых шестнадцатеричных символов и суффикса. Разделитель следует за каждым отформатированным значением, кроме последнего. Строки разделителей, префиксов и суффиксов должны быть присутствовать; они могут быть пустыми строками. Действительный диапазон символьного массива состоит только из указанного формата.
Параметры:
chars - диапазон символьного массива, содержащий чётное число шестнадцатеричных цифр, разделителей, префикса и суффикса.
fromIndex - начальный индекс диапазона, включительно
toIndex - конечный индекс диапазона, исключая его
Возвращает:
массив байтов со значениями, извлечёнными из диапазона символьного массива
Имеет исключения:
IllegalArgumentException - если префикс или суффикс отсутствуют для каждого значения байта, значения байтов не являются шестнадцатеричными символами, или разделитель отсутствует после всех, кроме последнего, значения байта
IndexOutOfBoundsException - если диапазон символьного массива выходит за пределы

toLowHexDigit

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

toHighHexDigit

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

toHexDigits

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

toHexDigits

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

toHexDigits

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

toHexDigits

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

toHexDigits

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

toHexDigits

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

toHexDigits

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

isHexDigit

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

fromHexDigit

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

fromHexDigits

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

fromHexDigits

public static int fromHexDigits(CharSequence string, int fromIndex, int toIndex)
Возвращает значение, разобранное из строки, содержащей до восьми шестнадцатеричных символов. Символы в диапазоне fromIndex по toIndex, не включая конечный, разбираются от старшего к младшему с помощью fromHexDigit(int) для формирования беззнакового значения. Значение расширяется до 32 битов нулями и возвращается как int.
API Note:
Integer.parseInt(s, 16) и Integer.parseUnsignedInt(s, 16) аналогичны, но допускают все шестнадцатеричные символы Юникода, определённые в 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) аналогичны, но допускают все шестнадцатеричные символы Юникода, определённые в 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) аналогичны, но допускают все шестнадцатеричные символы Юникода, определённые в 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, 2023, 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/21/docs/api/java.base/java/util/HexFormat.html

Spec-Zone.ru

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