加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java:格式说明符%x和%h之间有什么区别?

发布时间:2020-12-15 02:54:54 所属栏目:Java 来源:网络整理
导读:看看 specification page,我看到%h调用 Integer.toHexString(),但我找不到两个说明符之间的任何实际差异. 您能举例说明在同一输入上使用to说明符会产生不同的结果吗? System.out.println(String.format("%1$h %1$x",123)); 这打印 7b 7b 解决方法 %h说明
看看 specification page,我看到%h调用 Integer.toHexString(),但我找不到两个说明符之间的任何实际差异.

您能举例说明在同一输入上使用to说明符会产生不同的结果吗?

System.out.println(String.format("%1$h %1$x",123));

这打印

7b 7b

解决方法

%h说明符在其参数上调用hashCode(假设它不是null,当你得到“null”时),而%x说明符只是将其参数格式化为十六进制整数.如果格式化的东西不是整数,这会产生很大的不同.请参阅此处的示例:

http://developer.android.com/reference/java/util/Formatter.html

特别是,整数获得相同结果的事实是Integer.hashCode返回整数本身的结果:

http://docs.oracle.com/javase/6/docs/api/java/lang/Integer.html#hashCode%28%29

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读