Date/Time 中级

使用 HexFormat 在十六进制字符串和字节数组之间转换。

✕ Java 8
// Pad to 2 digits, uppercase
String hex = String.format(
    "%02X", byteValue);
// Parse hex string
int val = Integer.parseInt(
    "FF", 16);
✓ Java 17+
var hex = HexFormat.of()
    .withUpperCase();
String s = hex.toHexDigits(
    byteValue);
byte[] bytes =
    hex.parseHex("48656C6C6F");
发现此代码有问题? 告诉我们。
📐

双向

用一个 API 实现字节→十六进制和十六进制→字节转换。

🔧

可配置

大写、分隔符、前缀/后缀均可自定义。

📏

简洁

替代脆弱的手动 String.format 十六进制代码。

旧方式
手动十六进制转换
现代方式
HexFormat
自 JDK
17
难度
中级
HexFormat
可用

自 JDK 17 LTS 起广泛可用(2021 年 9 月)

HexFormat 提供字节、整数和长整型的双向十六进制编码/解码。它支持大写/小写、分隔符和前缀/后缀配置。

分享 𝕏 🦋 in