Java-Converti intero in stringa [duplicato]


Questa domanda ha già una risposta qui:

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".

Author: Anderson Green, 2011-02-21

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)
 714
Author: Bozho, 2011-02-21 21:12:30

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).

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

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();
 34
Author: AllThatICode, 2015-08-21 07:17:02

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.

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

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();
 16
Author: danjonila, 2013-09-26 08:46:08

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();
}
 2
Author: Jegan, 2013-10-28 04:40:41

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.

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