2010-12-10 13 views
2
Integer.toString(int); 

undeffiziente Methode int String in Java

String.valueOf(int); 

Konvertierendes einer unter den beiden oben genannten Methoden ist die effiziente Art und Weise einen int zu String umzuwandeln?

Vielen Dank im Voraus.

+0

Es spielt keine Rolle. –

+1

Es ist schwer zu sagen, was effizienter ist, aber der Unterschied könnte zu gering sein, um sich darum zu kümmern. – euphoria83

+0

Wie [Integer.toString (int i) vs String.valueOf (int i) ] (http://stackoverflow.com/questions/3335737/integer-tostringint-i-vs-string-valueofint-i)., Das hat auch Profilergebnisse. –

Antwort

8

String.valueOf Anrufe Integer.toString, so denke ich könnte argumentieren, dass Integer.toString ist marginal effizienter.

EDIT: Mit einem modernen Compiler werden die Anrufe inline, so dass es keinen Unterschied zwischen den beiden geben sollte. Bei einem alten Compiler sollte der Unterschied noch vernachlässigbar sein.

+0

Woher kommt diese Information? – euphoria83

+5

Lesen des Quellcodes. –

+0

Ja, ich benutze Integer.toString (int); aber heute sah ich String.valueOf (int); in anderem Entwicklercode. Und ich habe mich gefragt, was der Unterschied zwischen den beiden ist. – Mudassir

2

Eigentlich ist es egal, welche Methode Sie verwenden. Aber ich denke Integer.toString(int); ist effizienter, weil String.toString(int); intern die gleiche Methode aufruft.

2

Ich denke, dass die String.valueOf() -Methode wurde nur für den Zweck der Flexibilität zur Verfügung gestellt, Da der Zweck eng mit String-Klasse verwandt ist (in der Tat für die Umwandlung in String). Die Methode (Integer/Float/etc) .toString() ist die authentische Methode für die String-Konvertierung. Sie können sie als leicht überladene Methode bezeichnen.