代码对比
✕ 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
难度
中级
JDK 支持
HexFormat
可用
自 JDK 17 LTS 起广泛可用(2021 年 9 月)
工作原理
HexFormat 提供字节、整数和长整型的双向十六进制编码/解码。它支持大写/小写、分隔符和前缀/后缀配置。
相关文档