【发布时间】:2013-01-03 16:31:18
【问题描述】:
查看specification page,我看到%h 调用了Integer.toHexString(),但我找不到这两个说明符之间的任何实际区别。
你能举一个例子,在相同的输入上使用 to 说明符会产生不同的结果吗?
System.out.println(String.format("%1$h %1$x", 123));
这会打印出来
7b 7b
【问题讨论】:
-
尝试将
null传递给格式化程序。 -
不,它调用
Integer.toHexString(arg.hashCode())这是一个非常不同的东西。 -
描述完全不同;
%h在 arg 的 hashCode 上调用 toHexString。 -
好吧,一个只接受整数类型,另一个接受任何(合理的)类型。