我正在学习如何使用Java的Formatter类。
我想将一个正字节转换为十六进制数字,然后将其解析为一个具有两位数字的字符串。

我的方法如下所示:

String toHexString(byte byteToConvert) {
        StringBuilder hexBuilder = new StringBuilder();
        hexBuilder.append(Integer.toHexString(byteToConvert));
        return hexBuilder.toString();
}


有没有一种方法可以格式化字符串(或StringBuilder)以获取两位数字?

System.out.println(toHexString(127)); // Would like it to output "7f"
System.out.println(toHexString(1)); // Would like it to output "01"

最佳答案

您在这里不需要StringBuilder。只需使用String.format即可达到目的:

String toHexString(byte byteToConvert) {
    return String.format("%02x", byteToConvert);
}

09-16 00:52