Integer.toString()

11
为什么 Integer.toString() 方法使用 String.valueOf(int i) 实现而不是直接使用静态方法 Integer.toString(int i),后者是由 String.valueOf(int i) 调用的?
更新:我的工作环境是 Sun(现在是 Oracle)jdk 1.6.0_12。
1个回答

16
可能的原因是历史上的原因。Java 1.0版本匆忙发布,试图满足(当时被认为是)即将关闭的机会之窗。API设计中出现了许多错误。但到Java 1.1时,设计师意识到修复API中的错误可能会破坏现有程序,并使开发人员和用户疏远。因此,他们选择不修复错误(尤其是较小的不一致之处)。
这只是其中一个较小的不一致之处。在实践中没有任何区别,因为JIT编译器无论如何都会内联调用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接