java - parte - ¿Cómo convertir una matriz char de nuevo a una cadena?
llenar una matriz con letras en java (11)
1 forma alternativa es hacer:
String b = a + "";
Tengo una matriz de char:
char[] a = {''h'', ''e'', ''l'', ''l'', ''o'', '' '', ''w'', ''o'', ''r'', ''l'', ''d''};
Mi solución actual es hacer
String b = new String(a);
Pero seguramente hay una mejor manera de hacer esto?
Esto convertirá la matriz de caracteres de nuevo a la cadena:
char[] charArray = {''a'', ''b'', ''c''};
String str = String.valueOf(charArray);
No, esa solución es absolutamente correcta y muy mínima.
Tenga en cuenta, sin embargo, que esta es una situación muy inusual: como String
se maneja especialmente en Java, incluso "foo"
es en realidad una String
. Por lo tanto, la necesidad de dividir un String en caracteres individuales y volver a unirlos no se requiere en el código normal.
Compare esto con C / C ++ donde "foo"
tiene un paquete de caracteres terminados por un byte cero en un lado y una string
en el otro lado y muchas conversiones entre ellos debido a los métodos heredados.
Prueba esto
Arrays.toString(array)
Prueba esto:
CharSequence[] charArray = {"a","b","c"};
for (int i = 0; i < charArray.length; i++){
String str = charArray.toString().join("", charArray[i]);
System.out.print(str);
}
Puedes usar el método String.valueOf
.
Por ejemplo,
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);
Para más información sobre la matriz de caracteres a la cadena, puede consultar los enlaces a continuación
https://docs.oracle.com/javase/7/docs/api/java/lang/String.html
También puedes usar la clase StringBuilder
String b = new StringBuilder(a).toString();
El uso de String o StringBuilder varía según los requisitos de su método.
Una cadena en java es simplemente un objeto alrededor de una matriz de caracteres. Por lo tanto un
char[]
es idéntico a una cadena sin caja con los mismos caracteres. Al crear una nueva cadena a partir de su matriz de caracteres
new String(char[])
Esencialmente, le está diciendo al compilador que coloque automáticamente un objeto String alrededor de su matriz de caracteres.
String text = String.copyValueOf(data);
o
String text = String.valueOf(data);
es posiblemente mejor (encapsula la new String
llamada new String
).
String str = "wwwwww3333dfevvv";
char[] c = str.toCharArray();
Ahora para convertir la matriz de caracteres en String, hay dos formas.
Arrays.toString(c);
Devuelve la cadena [w, w, w, w, w, w, 3, 3, 3, 3, d, f, e, v, v, v]
.
Y:
String.valueOf(c)
Devuelve la cadena 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<len;i++){
//if i th one and i+1 th character are same then update the charArray
try{
if(charArray[i]==charArray[i+1]){
charArray[i]=''0'';
}}
catch(Exception e){
System.out.println("Exception");
}
}//finally printing final character string
for(int k=0;k<charArray.length;k++){
if(charArray[k]!=''0''){
System.out.println(charArray[k]);
} }
}
}