文
章
目
录
章
目
录
要将int值转换为字符串,我们可以使用String.valueOf()或Integer.toString()方法。在内部,前者调用了后者,因此应优先使用Integer.toString()。
1.使用Integer.toString()
Integer.toString(int)方法返回一个表示指定int值的字符串,该值作为方法参数传递。默认情况下,参数会被转换为带符号的十进制(基数10)字符串格式。
String toString(int i);
例如,我们可以传递任何正数或负数值,并获得其字符串形式的值。
Assertions.assertEquals("0", Integer.toString(0));
Assertions.assertEquals("40", Integer.toString(40));
Assertions.assertEquals("-40", Integer.toString(-40));
1.1. 不会抛出异常
请注意不要超过int类型的最大值(2147483647)和最小值(-2147483648)。如果超过上限或下限,我们将得到意外的结果。
Assertions.assertEquals("2147483647", Integer.toString(Integer.MAX_VALUE));
Assertions.assertEquals("-2147483648", Integer.toString(Integer.MAX_VALUE + 1));// 超出上限
Assertions.assertEquals("-2147483648", Integer.toString(Integer.MIN_VALUE));
Assertions.assertEquals("2147483647", Integer.toString(Integer.MIN_VALUE - 1));// 超出下限
1.2. 二进制、八进制和十六进制字符串
请注意,如果我们希望以其他进制的值获取字符串表示,我们可以使用其他几个内置方法。默认基数是10。
- Integer.toBinaryString():返回二进制形式的字符串表示。
- Integer.toOctalString():返回八进制形式的字符串表示。
- Integer.toHexString():返回十六进制形式的字符串表示。
Assertions.assertEquals("101000", Integer.toBinaryString(40));
Assertions.assertEquals("50", Integer.toOctalString(40));
Assertions.assertEquals("28", Integer.toHexString(40));
2.使用String.valueOf()
String.valueOf(int i)返回int参数的字符串表示。它在内部调用了Integer.toString(),因此表示始终完全相同。
String valueOf(int i);
让我们再次测试之前部分中的int值。
Assertions.assertEquals("0", String.valueOf(0));
Assertions.assertEquals("40", String.valueOf(40));
Assertions.assertEquals("-40", String.valueOf(-40));
Assertions.assertEquals("2147483647", String.valueOf(Integer.MAX_VALUE));
Assertions.assertEquals("-2147483648", String.valueOf(Integer.MAX_VALUE + 1));
Assertions.assertEquals("-2147483648", String.valueOf(Integer.MIN_VALUE));
Assertions.assertEquals("2147483647", String.valueOf(Integer.MIN_VALUE - 1));
3.使用+拼接空串
还有一种最简单的方式,就是直接使用“+”运算符拼接空串。比如:
Assertions.assertEquals("0",0+"");
Assertions.assertEquals("40", 40+"");
Assertions.assertEquals("-40",-40+"");
3.结论
在Java中,将int值转换为字符串并不是一项困难的任务,但知道哪种方法可以节省一些CPU周期是值得了解的。在这种情况下,我们应始终首选使用Integer.toString()进行int到String的转换。