[Java] Come convertire un array di caratteri in una stringa?


Answers

String text = String.copyValueOf(data);

o

String text = String.valueOf(data);

è discutibilmente migliore (incapsula la new String chiamata new String ).

Question

Ho un array di caratteri:

char[] a = {'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'};

La mia soluzione attuale è fare

String b = new String(a);

Ma sicuramente c'è un modo migliore per farlo?




Una stringa in java è semplicemente un oggetto attorno a una matrice di caratteri. Quindi a

char[]

è identico a una stringa non condivisa con gli stessi caratteri. Creando una nuova stringa dalla serie di caratteri

new String(char[])

stai essenzialmente dicendo al compilatore di autoboxare un oggetto String attorno alla tua matrice di caratteri.




String str = "wwwwww3333dfevvv";
char[] c = str.toCharArray();

Ora per convertire l'array di caratteri in String, ci sono due modi. Sto prendendo costruito in utility di libreria:

Arrays.toString(c);

Questo stamperà [w, w, w, w, w, w, 3, 3, 3, 3, d, f, e, v, v, v] .

Un altro modo è: String.valueOf(c)) --- o / p sarà wwwwww3333dfevvv .







Puoi anche usare la classe StringBuilder

String b = new StringBuilder(a).toString();

L'uso di String o StringBuilder varia in base ai requisiti del metodo.