Spec-Zone.ru › OpenJDK 25

Класс 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:
Например, отдельный байт преобразуется в строку шестнадцатеричных цифр с помощью 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.

Начиная с версии:
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 для использования шестнадцатеричных символов в верхнем регистре.

Методы, объявленные в классе 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, может быть пустым
Возвращает:
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-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)
Возвращает значение int, разобранное из диапазона строки, содержащего не более восьми шестнадцатеричных символов. Символы в диапазоне от fromIndex до toIndex, не включая последний индекс, разбираются от старшего к младшему с помощью 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, содержащая символы
fromIndex — начальный индекс диапазона включительно
toIndex — конечный индекс диапазона исключительно.
Возвращает:
значение, разобранное из диапазона строки
Выбрасывает:
IndexOutOfBoundsException — если диапазон выходит за допустимые границы CharSequence
IllegalArgumentException — если длина диапазона больше восьми (8) или любой из символов не является шестнадцатеричным

fromHexDigitsToLong

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

fromHexDigitsToLong

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

equals

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

hashCode

public int hashCode()
Возвращает хеш-код этого HexFormat.
Переопределяет:
hashCode в классе Object
Возвращает:
хеш-код этого HexFormat
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(Object)

toString

public String toString()
Возвращает описание параметров форматировщика: верхний регистр, разделитель, префикс и суффикс.
Переопределяет:
toString в классе Object
Возвращает:
описание этого HexFormat

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, способы решения проблем и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее дочерних компаний в США и других странах.
Авторское право © 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/HexFormat.html

Spec-Zone.ru

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