String.valueOf 的坑

如果想将一个字符串转换成整数,可以使用 Integer.parserInt(String str), 操作原理如下:将String转换成 char 类型,然后进行转换。

如果要将一个整数转换成字符串,可以使用 String.valueOf() 函数,操作原理如下:


从源码中可以看到,整数转换成字符串,需要调用 Integer 类下的 toString 方法,最后生成一个新的 String 对象。

在操作 String.valueOf() 的时候,遇到下面这个问题:


你认为打印出的 string 是 022 吗?
其实打印出来的是 18,因为 022 被赋值给 val 的时候,由于 0 的存在,022 被视为八进制的表示,所以,八进制 022 对应的十进制是 18.

说点什么

avatar
  Subscribe  
提醒

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部