2017-09-24 125 views
1

我正在學習如何使用java的Formatter類。 我想將一個正字節轉換爲一個十六進制數字,然後將其解析爲字符串,其中兩位數字爲使用Java StringBuilder格式化程序類

我的方法會是這個樣子:

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" 
+2

'StringBuilder'不是格式化 – MadProgrammer

+0

快速谷歌搜索的禮物[這個例子](https://stackoverflow.com/questions/9610254/string-format-and -hex-numbers-in-java)和[this example](https://stackoverflow.com/questions/5258415/how-to-get-hex-value-from-integer-in-java)作爲可能的選項 – MadProgrammer

+0

Where你想使用Formatter類嗎? –

回答

2

這裏不需要StringBuilder。只需用String.format會做的伎倆:

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