还有 Integer.toString(int i),它为您提供了将字符串作为十六进制值获取的选项(通过传递第二个参数 16)。
编辑我刚刚检查了字符串类的源代码:
public static String valueOf(int i) {
return Integer.toString(i, 10);
}
和整数类:
public static String toString(int i, int radix) {
if (radix < Character.MIN_RADIX || radix > Character.MAX_RADIX)
radix = 10;
/* Use the faster version */
if (radix == 10) {
return toString(i);
}
...
如果调用 ,则调用 ,然后调用 。String.valueOf(i)
Integer.toString(i, 10)
Integer.toString(i)
所以应该比 快一点,因为你会削减两个函数调用。(尽管编译器可以优化第一个函数调用。Integer.toString(i)
String.valueOf(i)
当然,仍然可以为 String.valueOf()
创建可读性参数,因为它允许您更改参数的类型(甚至处理 null!),并且性能差异可以忽略不计。