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

etMéthode efficace de conversion int en String en Java

String.valueOf(int); 

Lequel parmi les deux méthodes ci-dessus est le moyen efficace de convertir un int en chaîne?

Merci d'avance.

+0

Peu importe. –

+1

Il est difficile de dire lequel est le plus efficace, mais la différence pourrait être trop petite pour se soucier. – euphoria83

+0

Identique à [Integer.toString (int i) vs String.valueOf (int i) ] (http://stackoverflow.com/questions/3335737/integer-tostringint-i-vs-string-valueofint-i)., qui a également des résultats de profilage. –

Répondre

8

String.valueOf appelle Integer.toString, donc je suppose que vous pourriez soutenir que Integer.toString est marginalement plus efficace.

EDIT: Avec un compilateur moderne, les appels seront en ligne afin qu'il n'y ait aucune différence entre les deux. Avec un ancien compilateur, la différence devrait être négligeable.

+0

Quelle est la source de cette information? – euphoria83

+5

Lecture du code source. –

+0

Ouais, j'utilise Integer.toString (int); mais aujourd'hui j'ai vu String.valueOf (int); dans le code d'un autre développeur. Et je me demandais quelle était la différence entre les deux. – Mudassir

2

En fait, peu importe la méthode que vous utilisez. Mais je pense que Integer.toString(int); est plus efficace parce que, String.toString(int); appelle en interne la même méthode.

2

Je pense que la méthode String.valueOf() vient d'être fournie dans un but de flexibilité, puisque le but est étroitement lié à la classe String (en fait pour la conversion en String). Alors que la méthode (Integer/Float/etc) .toString() est la méthode authentique dans le but de la conversion de chaîne. Vous pouvez les référer à une méthode légèrement surchargée.