Java-Convertir un entier en chaîne [dupliquer]


Cette question a déjà une réponse ici:

Étant Donné un nombre:

int number = 1234;

Qui serait la "meilleure" façon de convertir cette chaîne:

String stringNumber = "1234";

J'ai essayé de chercher (googler) une réponse mais beaucoup ne semblaient "dignes de confiance".

Author: Anderson Green, 2011-02-21

7 answers

Il y a plusieurs façons:

  • String.valueOf(number) (ma préférence)
  • "" + number (je ne sais pas comment le compilateur le gère, peut-être qu'il est aussi efficace que ce qui précède)
  • Integer.toString(number)
 714
Author: Bozho, 2011-02-21 21:12:30

La classe Integer a une méthode statique toString () - vous pouvez l'utiliser:

int i = 1234;
String str = Integer.toString(i);

Renvoie un objet String 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 radix 10 étaient donnés comme arguments à la méthode toString(int, int).

 48
Author: smas, 2011-02-21 20:51:24

Utilisez toujours String.valueOf(number) ou Integer.toString(number).

L'utilisation de "" + number est une surcharge et effectue ce qui suit:

StringBuilder sb = new StringBuilder();
sb.append("");
sb.append(number);
return sb.toString();
 34
Author: AllThatICode, 2015-08-21 07:17:02

Cela fera l'affaire. Assez digne de confiance. : )

    ""+number;

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

 33
Author: Nishant, 2018-01-24 09:07:02

La façon dont je sais comment convertir un entier en une chaîne est en utilisant le code suivant:

Integer.toString(int);

Et

String.valueOf(int);

Si vous aviez un entier i et une chaîne s, alors ce qui suit s'appliquerait:

int i;
String s = Integer.toString(i); or
String s = String.valueOf(i);

Si vous vouliez convertir une chaîne " s "en un entier "i" , alors ce qui suit fonctionnerait:

i = Integer.valueOf(s).intValue();
 16
Author: danjonila, 2013-09-26 08:46:08

C'est la méthode que j'ai utilisée pour convertir l'entier en chaîne.Corrigez-moi si j'ai fait de mal.

/**
 * @param a
 * @return
 */
private String convertToString(int a) {

    int c;
    char m;
    StringBuilder ans = new StringBuilder();
    // convert the String to int
    while (a > 0) {
        c = a % 10;
        a = a / 10;
        m = (char) ('0' + c);
        ans.append(m);
    }
    return ans.reverse().toString();
}
 2
Author: Jegan, 2013-10-28 04:40:41

Celui que j'utilise souvent:

 Integer.parseInt("1234");

Le point est qu'il existe de nombreuses façons de le faire, toutes également valables. Quant à ce qui est le plus optimal/efficace, vous devriez demander à quelqu'un d'autre.

 -3
Author: DYezek, 2013-07-10 21:20:08