Converteix la matriu de caràcters en cadena a Java
Les cadenes es defineixen com una matriu de caràcters. La diferència entre una matriu de caràcters i una cadena és que la cadena acaba amb un caràcter especial . Una matriu de caràcters es pot convertir en una cadena i viceversa. A l'article anterior, ja hem comentat com convertir a cadena a una matriu de caràcters . En aquest article, parlarem de com convertir una matriu de caràcters en una cadena.
Il·lustracions:
Entrada 1: char s[] = { 'g', 'e', 'e', 'k', 's', 'f', 'o', 'r', 'g', 'e', 'e', 'k', 's'}
Sortida 1: geeksforgeeks
Entrada 2: char s[] = {'c', 'o', 'd', 'i', 'n', 'g'}
Sortida 2: codificació
Mètodes:
- Utilitzant el mètode copyOf() de la classe Arrays
- Utilitzant la classe StringBuilder
- Utilitzant el mètode valueOf() de la classe String
- Utilitzant el mètode copyValueOf() de la classe String
- Ús de col·leccionistes en fluxos
Ara anem a parlar de cadascun dels mètodes en detall juntament amb la implementació d'ells amb l'ajuda d'un programa java net.
Mètode 1: Utilitzant el mètode copyOf() de la classe Array
El caràcter donat es pot passar a Constructor de cadenes . De manera predeterminada, el contingut de la matriu de caràcters es copie mitjançant el mètode Arrays.copyOf() present al fitxer Classe de matrius .
Exemple:
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));> > }> }> |
Sortida:
geeksforgeeks
Mètode 2: Utilitzant la classe StringBuilder
Una altra manera de convertir una matriu de caràcters en una cadena és utilitzar el Classe StringBuilder . Com que un StringBuilder és una classe mutable, per tant, la idea és iterar a través de la matriu de caràcters i afegir cada caràcter al final de la cadena. Finalment, la cadena conté la forma de cadena dels caràcters.
Exemple:
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 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)); } }> |
Sortida
geeksforgeeks
Mètode 3: Utilitzant el mètode valueOf() de la classe String
Una altra manera de convertir una matriu de caràcters en una cadena és utilitzar el el valor de() mètode present a la classe String. Aquest mètode converteix de manera inherent la matriu de caràcters a un format on es mostra el valor sencer dels caràcters presents a la matriu. Aquest mètode generalment converteix int, float, double, char, boolean i fins i tot object en una cadena. Aquí aconseguirem l'objectiu convertint la nostra matriu de caràcters en cadena.
Exemple:
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));> > }> }> |
Sortida
geeksforgeeks
Mètode 4: Utilitzant el mètode copyValueOf() de la classe String
Els continguts de la matriu de caràcters es copien i es modifiquen posteriorment sense afectar la cadena a retornar, per tant, aquest mètode també ens permet convertir la matriu de caràcters en una cadena que es pot percebre encara millor a partir de l'exemple que es mostra a continuació.
Exemple:
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);> > }> }> |
Sortida
geeksforgeeks
Mètode 5: Ús de col·leccionistes en fluxos
Amb la introducció de fluxos a java8, de seguida utilitzem els col·leccionistes als fluxos per modificar els elements de la matriu d'entrada de caràcters i més tard utilitzem el mètode joining() i retornem una sola cadena i la imprimim.
Exemple:
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);> > }> }> |
Sortida
geeksforgeeks