Spec-Zone.ru › OpenJDK 24

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

Методы, объявленные в классе 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, может быть пустым
Возвращает:
объект 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)
Возвращает массив байтов, содержащий шестнадцатеричные значения, извлеченные из диапазона строки. Каждое значение байта извлекается из префикса, двух регистронезависимых шестнадцатеричных символов и суффикса. Разделитель следует за каждым отформатированным значением, за исключением последнего. Строки разделителей, префиксов и суффиксов должны быть присутствовать; они могут быть пустыми строками. Корректная строка состоит только из указанного выше формата.
Parameters:
string - диапазон строк, содержащий шестнадцатеричные цифры, разделители, префикс и суффикс.
fromIndex - начальный индекс диапазона, включительно
toIndex - конечный индекс диапазона, исключая его
Returns:
массив байтов со значениями, извлеченными из диапазона строки
Throws:
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 - если при добавлении в выходной поток произошла ошибка ввода-вывода

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

fromHexDigits

public static int fromHexDigits(CharSequence string, int fromIndex, int toIndex)
Возвращает значение, парсированное из диапазона строки, содержащей до восьми шестнадцатеричных символов. Символы в диапазоне fromIndex до toIndex (не включая) парсируются от старшего к младшему с использованием fromHexDigit(int) для формирования беззнакового значения. Значение расширяется до 32 бит нулями и возвращается как int.
Примечание API:
Integer.parseInt(s, 16) и Integer.parseUnsignedInt(s, 16) аналогичны, но допускают все шестнадцатеричные символы Юникода, определённые в Character.digit(ch, 16). HexFormat использует только шестнадцатеричные символы "0-9", "A-F" и "a-f". Отрицательные шестнадцатеричные строки могут быть обработаны с помощью Integer.parseInt(String, int).
Параметры:
string - строка, содержащая символы
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) аналогичны, но допускают все шестнадцатеричные символы Юникода, определённые в Character.digit(ch, 16). HexFormat использует только шестнадцатеричные символы "0-9", "A-F" и "a-f". Отрицательные шестнадцатеричные строки могут быть обработаны с помощью Long.parseLong(String, int).
Параметры:
string - строка, содержащая до шестнадцати шестнадцатеричных символов
Возвращает:
значение, парсированное из строки
Исключения:
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) аналогичны, но допускают все шестнадцатеричные символы Юникода, определённые в Character.digit(ch, 16). HexFormat использует только шестнадцатеричные символы "0-9", "A-F" и "a-f". Отрицательные шестнадцатеричные строки могут быть обработаны с помощью Long.parseLong(String, int).
Параметры:
string - строка, содержащая символы
fromIndex - начальный индекс диапазона (включительно)
toIndex - конечный индекс диапазона (исключительно).
Возвращает:
значение, парсированное из диапазона строки
Исключения:
IndexOutOfBoundsException - если диапазон выходит за пределы допустимого диапазона для CharSequence
IllegalArgumentException - если длина диапазона больше шестнадцати (16) или любой из символов не является шестнадцатеричным символом

equals

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

hashCode

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

toString

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

© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/HexFormat.html

Spec-Zone.ru

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