Warum wird die Methode Integer.toString()
mit String.valueOf(int i)
implementiert, anstatt direkt die statische Methode Integer.toString(int i)
zu verwenden, die von String.valueOf(int i)
?
Update: Ich arbeite mit einer Sun (Oracle jetzt) jdk 1.6.0_12
Der Grund ist wahrscheinlich historisch. Die Java 1.0-Version wurde in Eile erstellt, um zu versuchen, ein (sich als möglich erachtendes) Fenster zu schließen. Im API-Design wurden viele Fehler gemacht. Aber zu der Zeit von Java 1.1 haben die Designer erkannt, dass das Reparieren von Fehlern in der API bestehende Programme brechen und Entwickler und Benutzer entfremden kann. Daher haben sie sich dafür entschieden, Fehler (insbesondere kleinere Unstimmigkeiten) nicht zu korrigieren.
Dies ist nur eine dieser kleineren Inkonsistenzen. In der Praxis macht das keinen Unterschied, da der JIT-Compiler die Aufrufe trotzdem in die Warteschlange stellt.
Tags und Links java