通過查看String類的源碼:
public static String valueOf(int i) { return Integer.toString(i); }
我們可以看到,String.valueOf(int i)其實是調用了Integer.toString(int i)方法的。
再次通過查看Integer類的源碼我們可以看到:
public static String toString(int i) { if (i == Integer.MIN_VALUE) return "-2147483648"; int size = (i < 0) ? stringSize(-i) + 1 : stringSize(i); char[] buf = new char[size]; getChars(i, size, buf); return new String(buf, true); }
除了當參數i=-2^31時,值返回"-2147483648"外,當i=其他值時,都返回一個新的Stirng對象(new String(buf,true))。