Convertir un array en un String con Java

24/Mar/2010 Java , , 5 Comentarios

El otro día nos preguntaban sobre cómo se podría realizar la conversión entre un array una cadena o String en Java. Veamos los pasos que hay que seguir para conseguirlo.

Lo primero será partir del array. En este caso es un array de cadenas. Podría ser de otro tipo, lo cual llevaría una conversión posterior. Pero hemos decidido simplificar las cosas:

  1. String miarray[] = {"A","V","I","L","A"};

El proceso va a consistir en recorrer el array e ir añadiendo lo que leemos sobre una cadena. En este caso, y con miras de ser eficiente, vamos a utilizar una clase StringBuffer. La cual nos permitirá añadir contenido con un buen rendimiento. Declaramos la clase StringBuffer:

  1. StringBuffer cadena = new StringBuffer();

Empezamos a recorrer el array, con un bucle for y apoyándonos en el tamaño del array, información que devuelve el método .length

  1. for (int x=0;x<miarray.length;x++){
  2. cadena =cadena.append(miarray[x]);
  3. }

En cada unas de las iteraciones vamos añadiendo a la cadena, el valor leido. Utilizamos el método .append del StringBuffer para conseguir dicha cosa.

Ya solo nos quedará el volcar el contenido del StringBuffer, convirtiéndolo en cadena con su método .toString()

Espero que el programa sirva de ayuda.

Vídeos sobre Java Básico


5 comentarios en “Convertir un array en un String con Java”

Víctor Cuervo

Juan Pablo

Otra forma de convertir un arreglo de caracteres a un objeto String es CREANDO un objeto cadena a partir de un arreglo de caracteres, creo que sería la forma más óptima

char arreglo[]={‘h’,’o’,’l’,’a’};
String cadena = new String(arreglo);
System.out.print(cadena); //hola

Víctor Cuervo

lineadecodigo

@nextor,

Muy buena puntualización. Mucho más óptimo con el for-each.

Víctor Cuervo

nextor

Con menos variables seria y java 1.5 o superior

for (String x: miarray){
cadena =cadena.append(x);
}

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*