如何使用字节数组从String.format获取格式化的字符串?格式化字符串特别是什么意思?

时间:2012-12-11 12:16:37

标签: java bytearray string-formatting

byte mac[] = ni.getHardwareAddress();
StringBuilder sb = new StringBuilder();

sb.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : ""));    

String macAdd = new String(sb);
System.out.println(macAdd);    

它打印出我的界面的MAC地址:

70-F1-A1-A1-DF-F5

任何人都可以向我解释一下这个步骤:

String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : "")

特别字符串%02X%s是什么意思?

1 个答案:

答案 0 :(得分:6)

http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html

%启动格式规范

0表示左键有零

2表示2位数

X表示十六进制输出

s表示字符串

所以我们输出一个两位十六进制数后跟一个字符串。我知道Formatter javadoc有点密集,但这确实是它的用途。