Convertiți matricea de caractere în șir în Java
Șirurile sunt definite ca o matrice de caractere. Diferența dintre o matrice de caractere și un șir este că șirul se termină cu un caracter special . O matrice de caractere poate fi convertită într-un șir și invers. În articolul precedent, am discutat deja despre cum să conversii un șir într-o matrice de caractere . În acest articol, vom discuta cum să convertim o matrice de caractere într-un șir.
Ilustrații:
Intrare 1: char s[] = { „g”, „e”, „e”, „k”, „s”, „f”, „o”, „r”, „g”, „e”, „e”, „k”, „s”}
Ieșire 1: geeksforgeeks
Intrare 2: char s[] = { „c”, „o”, „d”, „i”, „n”, „g” }
Ieșire 2: codificare
Metode:
- Folosind metoda copyOf() din clasa Arrays
- Folosind clasa StringBuilder
- Folosind metoda valueOf() din clasa String
- Folosind metoda copyValueOf() din clasa String
- Utilizarea colectoarelor în fluxuri
Acum să discutăm în detaliu fiecare dintre metode, alături de implementarea lor cu ajutorul unui program java curat.
Metoda 1: Folosind metoda copyOf() din clasa Array
Caracterul dat poate fi trecut în Constructor de șiruri . În mod implicit, conținutul matricei de caractere este copiat folosind metoda Arrays.copyOf() prezentă în Clasa Arrays .
Exemplu:
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));> > }> }> |
Ieșire:
geeksforgeeks
Metoda 2: Folosind clasa StringBuilder
O altă modalitate de a converti o matrice de caractere într-un șir este de a folosi Clasa StringBuilder . Deoarece un StringBuilder este o clasă mutabilă, prin urmare, ideea este să iterați prin matricea de caractere și să adăugați fiecare caracter la sfârșitul șirului. În cele din urmă, șirul conține forma șirului de caractere.
Exemplu:
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)); } }> |
Ieșire
geeksforgeeks
Metoda 3: Folosind metoda valueOf() din clasa String
O altă modalitate de a converti o matrice de caractere într-un șir este de a folosi valoarea() metoda prezentă în clasa String. Această metodă convertește în mod inerent matricea de caractere într-un format în care este afișată întreaga valoare a caracterelor prezente în matrice. Această metodă convertește în general int, float, double, char, boolean și chiar obiect într-un șir. Aici vom atinge obiectivul prin conversia matricei noastre de caractere în șir.
Exemplu:
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));> > }> }> |
Ieșire
geeksforgeeks
Metoda 4: Folosind metoda copyValueOf() din clasa String
Conținutul din matricea de caractere este copiat și ulterior modificat fără a afecta șirul care urmează să fie returnat, prin urmare această metodă ne permite, de asemenea, să convertim matricea de caractere într-un șir care poate fi perceput și mai bine din exemplul oferit mai jos, după cum urmează.
Exemplu:
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);> > }> }> |
Ieșire
geeksforgeeks
Metoda 5: Utilizarea colectoarelor în fluxuri
Odată cu introducerea fluxurilor în java8, folosim imediat Colectori în fluxuri pentru a modifica elementele matricei de introducere a caracterelor și mai târziu utilizăm metoda joining() și returnăm un singur șir și îl imprimăm.
Exemplu:
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 ->>>> |