Java – Convertir un entier en chaîne

Numéro donné:

int number = 1234; 

Quel serait le “meilleur” moyen de convertir cela en chaîne:

 Ssortingng ssortingngNumber = "1234"; 

J’ai essayé de chercher (googler) une réponse mais beaucoup ne me paraissaient pas “dignes de confiance”.

Il y a plusieurs façons:

  • Ssortingng.valueOf(number) (ma préférence)
  • "" + number (je ne sais pas comment le compilateur le gère, peut-être que c’est aussi efficace que ci-dessus)
  • Integer.toSsortingng(number)

La classe entière a la méthode statique toSsortingng () – vous pouvez l’utiliser:

 int i = 1234; Ssortingng str = Integer.toSsortingng(i); 

Renvoie un object Ssortingng représentant l’entier spécifié. L’argument est converti en représentation décimale signée et renvoyé sous forme de chaîne, exactement comme si l’argument et la base 10 étaient donnés en arguments à la méthode toSsortingng (int, int).

Utilisez toujours soit Ssortingng.valueOf(number) ou Integer.toSsortingng(number) .

Utiliser “” + numero est une surcharge et fait ce qui suit:

 SsortingngBuilder sb = new SsortingngBuilder(); sb.append(""); sb.append(number); return sb.toSsortingng(); 

Cela va faire. Assez fiable. 🙂

  ""+number; 

Juste pour clarifier, cela fonctionne et acceptable à utiliser, sauf si vous recherchez une optimisation micro.

La façon dont je sais convertir un entier en chaîne est d’utiliser le code suivant:

 Integer.toSsortingng(int); 

et

 Ssortingng.valueOf(int); 

Si vous aviez un entier i et une chaîne de caractères s, alors ce qui suit s’appliquerait:

 int i; Ssortingng s = Integer.toSsortingng(i); or Ssortingng s = Ssortingng.valueOf(i); 

Si vous vouliez convertir une chaîne “s” en un entier “i”, alors ceci fonctionnerait:

 i = Integer.valueOf(s).intValue(); 

C’est la méthode que j’ai utilisée pour convertir l’entier en chaîne. Corrigez-moi si je me suis trompé.

 /** * @param a * @return */ private Ssortingng convertToSsortingng(int a) { int c; char m; SsortingngBuilder ans = new SsortingngBuilder(); // convert the Ssortingng to int while (a > 0) { c = a % 10; a = a / 10; m = (char) ('0' + c); ans.append(m); } return ans.reverse().toSsortingng(); } 

Un que j’utilise souvent:

  Integer.parseInt("1234"); 

Le fait est qu’il y a beaucoup de façons de faire, toutes également valables. En ce qui concerne le plus optimal / efficace, il faudrait demander à quelqu’un d’autre.