Java-Converti intero in stringa [duplicato]
Questa domanda ha già una risposta qui:
- Java int a String-Integer.toString (io) vs nuovo intero (io).toString () 11 risposte
- Come faccio a convertire da int a String? 19 risposte
Dato un numero:
int number = 1234;
Che sarebbe il modo "migliore" per convertire questo in una stringa:
String stringNumber = "1234";
Ho provato a cercare (googling) una risposta, ma nessuno sembrava "affidabile".
7 answers
Ci sono diversi modi:
-
String.valueOf(number)
(la mia preferenza) -
"" + number
(non so come il compilatore lo gestisca, forse è efficiente come sopra) Integer.toString(number)
La classe Integer ha il metodo statico toString() - puoi usarlo:
int i = 1234;
String str = Integer.toString(i);
Restituisce un oggetto String che rappresenta il numero intero specificato. L'argomento viene convertito in rappresentazione decimale firmata e restituito come stringa, esattamente come se l'argomento e la radix 10 fossero dati come argomenti al metodo toString(int, int).
Usare sempre String.valueOf(number)
o Integer.toString(number)
.
L'utilizzo di "" + number è un overhead e fa quanto segue:
StringBuilder sb = new StringBuilder();
sb.append("");
sb.append(number);
return sb.toString();
Questo andrà bene. Abbastanza affidabile. : )
""+number;
Solo per chiarire, questo funziona e accettabile da usare a meno che non si stia cercando una micro ottimizzazione.
Il modo in cui so come convertire un numero intero in una stringa è usando il seguente codice:
Integer.toString(int);
E
String.valueOf(int);
Se si avesse un numero intero i e una stringa s, si applicherebbe quanto segue:
int i;
String s = Integer.toString(i); or
String s = String.valueOf(i);
Se si desidera convertire una stringa " s "in un numero intero "i", funzionerebbe quanto segue:
i = Integer.valueOf(s).intValue();
Questo è il metodo che ho usato per convertire il numero intero in stringa.Correggimi se ho sbagliato.
/**
* @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();
}
Uno che uso spesso:
Integer.parseInt("1234");
Il punto è che ci sono molti modi per farlo, tutti ugualmente validi. Per quanto riguarda quale sia il più ottimale / efficiente, dovresti chiedere a qualcun altro.