Come convertire un array di caratteri in una stringa?

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?

No, questa soluzione è assolutamente corretta e molto minimale.

Si noti tuttavia che questa è una situazione molto insolita: poiché String è gestito specialmente in Java, anche "foo" è in realtà una String . Quindi la necessità di dividere una stringa in singoli char e unirli a loro volta non è richiesta nel codice normale.

Confronta questo con C / C ++ dove "foo" hai un fascio di char che termina con un byte zero su un lato e una string sull’altro lato e molte conversioni tra di loro dovute a metodi legacy.

String text = String.copyValueOf(data);

o

String text = String.valueOf(data);

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

Questo convertirà il char array in stringa:

 char[] charArray = {'a', 'b', 'c'}; String str = String.valueOf(charArray); 

Una stringa in java è semplicemente un object 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 object 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 .

 package naresh.java; public class TestDoubleString { public static void main(String args[]){ String str="abbcccddef"; char charArray[]=str.toCharArray(); int len=charArray.length; for(int i=0;i 

È ansible utilizzare il metodo String.valueOf .

Per esempio,

 char[] a = {'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'}; String b = String.valueOf(a); System.out.println("Char Array back to String is: " + b); 

Per maggiori informazioni su char array su string puoi consultare i link qui sotto

https://docs.oracle.com/javase/7/docs/api/java/lang/String.html

http://www.flowerbrackets.com/char-array-to-string-java-program/

Prova questo

 Arrays.toString(array) 

Prova questo:

 CharSequence[] charArray = {"a","b","c"}; for (int i = 0; i < charArray.length; i++){ String str = charArray.toString().join("", charArray[i]); System.out.print(str); } 

Puoi anche usare la class StringBuilder

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

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

1 modo alternativo è quello di fare:

 String b = a + "";