Java-Convert entier en chaîne [dupliquer]
cette question a déjà une réponse ici:
- Java int String Entier.toString(i) vs new Integer (i).toString () 11 réponses
- Comment faire pour convertir une chaîne de caractères en int? 19 réponses
avec un numéro:
int number = 1234;
Qui serait la "meilleure" façon de convertir cette chaîne:
String stringNumber = "1234";
J'ai essayé de chercher (googler) pour une réponse, mais beaucoup ne semblaient pas "digne de confiance".
7 réponses
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 est-il aussi efficace que ci-dessus) -
Integer.toString(number)
la classe entière a la méthode statique toString () - vous pouvez l'utiliser:
int i = 1234;
String str = Integer.toString(i);
renvoie un objet String représentant le nombre entier spécifié. L'argument est converti en représentation décimale signée et retourné comme une chaîne, exactement comme si l'argument et radix 10 étaient donnés comme arguments à la méthode toString(int, int).
utilisez toujours String.valueOf(number)
ou Integer.toString(number)
.
utilisant "" + numéro est un overhead et fait ce qui suit:
StringBuilder sb = new StringBuilder();
sb.append("");
sb.append(number);
return sb.toString();
ça ira. Assez digne de confiance. :)
""+number;
juste pour clarifier, cela fonctionne et acceptable à utiliser à moins que vous ne cherchiez une micro optimisation.
la façon dont je sais convertir un entier en 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 de caractères "s" en un entier "i", alors la suivante 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 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();
}
un que j'utilise souvent:
Integer.parseInt("1234");
Point est, il ya beaucoup de façons de le faire, tous également valables. Lequel est le plus optimum/efficace, vous devriez demander à quelqu'un d'autre.