Integer.toString()

为什么使用String.valueOf(int i)实现Integer.toString()方法而不是直接使用由String.valueOf(int i)回调的静态方法Integer.toString(int i) String.valueOf(int i)

更新:我正在使用Sun(Oracle现在)jdk 1.6.0_12

原因可能是历史性的。 Java 1.0版本的发布是为了试图满足(被认为是)一个关闭的机会窗口。 API设计中出现了许多错误。 但到了Java 1.1时,设计人员意识到修复API中的错误可能会破坏现有程序,并疏远开发人员和用户。 所以他们选择了不假的错误(特别是轻微的不一致)。

这只是那些微小的不一致之一。 它在实践中没有任何区别,因为JIT编译器无论如何都会内联调用。