Las strings se definen como una array de caracteres. La diferencia entre una array de caracteres y una string es que la string termina con un carácter especial «\0». Una array de caracteres se puede convertir en una string y viceversa. En el artículo anterior, ya hemos discutido cómo convertir una string en una array de caracteres . En este artículo, discutiremos cómo convertir una array de caracteres en una string.
Ilustraciones:
Entrada 1: char s[] = { ‘g’, ‘e’, ’e’, ’k’, ‘s’, ‘f’, ‘o’, ‘r’, ‘g’, ‘e’, ’ e’, ‘k’, ‘s’ }
Salida 1: «geeksforgeeks»
Entrada 2: char s[] = { ‘c’, ‘o’, ‘d’, ‘i’, ‘n’, ‘g’ }
Salida 2: «codificación»
Métodos:
- Usando el método copyOf() de la clase Arrays
- Usando la clase StringBuilder
- Usando el método valueOf() de la clase String
- Usando el método copyValueOf() de la clase String
- Uso de recopiladores en flujos
Ahora analicemos cada uno de los métodos en detalle junto con su implementación con la ayuda de un programa Java limpio.
Método 1: Usar el método copyOf() de la clase Array
El carácter dado se puede pasar al constructor String . De forma predeterminada, el contenido de la array de caracteres se copia mediante el método Arrays.copyOf() presente en la clase Arrays .
Ejemplo:
Java
// Java Program to Convert Character Array to String // Using copyOf() method ofArrays() Class // Importing required classes import java.util.*; // Main class class GFG { // Method 1 // To convert a character // array to a string using the constructor public static String toString(char[] a) { // Creating object of String class String string = new String(a); return string; } // Method 2 // Main driver method public static void main(String args[]) { // Declaring and initializing a character array char s[] = { 'g', 'e', 'e', 'k', 's', 'f', 'o', 'r', 'g', 'e', 'e', 'k', 's' }; // Printing converted string from character array System.out.println(toString(s)); } }
Producción:
geeksforgeeks
Método 2: Usar la clase StringBuilder
Otra forma de convertir una array de caracteres en una string es usar la clase StringBuilder . Dado que StringBuilder es una clase mutable, la idea es iterar a través de la array de caracteres y agregar cada carácter al final de la string. Finalmente, la string contiene la forma de string de los caracteres.
Ejemplo:
Java
// Java Program to Convert Character Array to String // Using StringBuilder Class // Importing required classes import java.util.*; // Main class public class GFG { // Method 1 // To convert a character array to a string // using the StringBuilder class public static String toString(char[] a) { // Creating object of String class StringBuilder sb = new StringBuilder(); // Creating a string using append() method for (int i = 0; i < a.length; i++) { sb.append(a[i]); } return sb.toString(); } // Method 2 // Main driver method public static void main(String args[]) { // Declaring and initialzaing input character array char s[] = { 'g', 'e', 'e', 'k', 's', 'f', 'o', 'r', 'g', 'e', 'e', 'k', 's' }; // Printing the string // corresponding to character array System.out.println(toString(s)); } }
geeksforgeeks
Método 3: Usar el método valueOf() de la clase String
Otra forma de convertir una array de caracteres en una string es usar el método valueOf() presente en la clase String. Este método convierte inherentemente la array de caracteres a un formato en el que se muestra el valor completo de los caracteres presentes en la array. Este método generalmente convierte int, float, double, char, boolean e incluso object en una string. Aquí lograremos el objetivo al convertir nuestra array de caracteres en una string.
Ejemplo:
Java
// Java Program to Convert Character Array to String // Using valueOf() method of String Class // Importing required classes import java.util.*; // Main class class GFG { // Method 1 // To convert a character array to string // using the valueOf() method public static String toString(char[] a) { // Creating an object of String class String string = String.valueOf(a); return string; } // Method 2 // Main driver method public static void main(String args[]) { // Declaring and initializing input character array char s[] = { 'g', 'e', 'e', 'k', 's', 'f', 'o', 'r', 'g', 'e', 'e', 'k', 's' }; // Print the corresponding string to // character array System.out.println(toString(s)); } }
geeksforgeeks
Método 4: Usar el método copyValueOf() de la clase String
Los contenidos de la array de caracteres se copian y posteriormente se modifican sin afectar la string que se devolverá, por lo tanto, este método también nos permite convertir la array de caracteres en una string que se puede percibir aún mejor en el ejemplo que se proporciona a continuación.
Ejemplo:
Java
// Java Program to Convert Character Array to String // Using copyValueOf() method of String Class // Importing String class import java.util.*; // Main class class GFG { // Main driver method public static void main(String[] args) { // Declaring and initializing input character array char[] arr = { 'g', 'e', 'e', 'k', 's', 'f', 'o', 'r', 'g', 'e', 'e', 'k', 's' }; // Storing it in a string // using copyValueOf() over string String str = String.copyValueOf(arr); // Printing the converted string corresponding // character array System.out.print(str); } }
geeksforgeeks
Método 5: uso de recopiladores en secuencias
Con la introducción de flujos en java8, usamos de inmediato Colectores en flujos para modificar nuestros elementos de array de entrada de caracteres y luego usamos el método de unión() y devolvemos una sola string e imprimimos.
Ejemplo:
Java
// Java Program to Convert a Character array to String // Using Collectors in Streams in Java8 // Importing Collectos and Stream classes // from java.util.stream package import java.util.stream.Collectors; import java.util.stream.Stream; // Main class class GFG { // Main driver method public static void main(String[] args) { // Custom input character array char[] charr = { 'g', 'e', 'e', 'k', 's', 'f', 'o', 'r', 'g', 'e', 'e', 'k', 's' }; // Using collectors to collect array elements and // later using joining method to return a single // string String str = Stream.of(charr) .map(arr -> new String(arr)) .collect(Collectors.joining()); // Printing the stream received from Collectors System.out.println(str); } }
geeksforgeeks
Publicación traducida automáticamente
Artículo escrito por KaashyapMSK y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA