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
是什么意思?
答案 0 :(得分:6)
http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html
%启动格式规范
0表示左键有零
2表示2位数
X表示十六进制输出
s表示字符串
所以我们输出一个两位十六进制数后跟一个字符串。我知道Formatter javadoc有点密集,但这确实是它的用途。