Konvertieren Sie ein Zeichenarray in einen String in Java
Zeichenfolgen werden als Array von Zeichen definiert. Der Unterschied zwischen einem Zeichenarray und einer Zeichenfolge besteht darin, dass die Zeichenfolge mit einem Sonderzeichen abgeschlossen wird. Ein Zeichenarray kann in einen String umgewandelt werden und umgekehrt. Im vorherigen Artikel haben wir bereits besprochen, wie man a umwandelt String in ein Zeichenarray umwandeln . In diesem Artikel besprechen wir, wie man ein Zeichenarray in eine Zeichenfolge umwandelt.
Abbildungen:
Eingabe 1: char s[] = { 'g', 'e', 'e', 'k', 's', 'f', 'o', 'r', 'g', 'e', 'e', 'k', 's' }
Ausgabe 1: geeksforgeeks
Eingabe 2: char s[] = { 'c', 'o', 'd', 'i', 'n', 'g' }
Ausgabe 2: Codierung
Methoden:
- Verwendung der Methode copyOf() der Klasse Arrays
- Verwendung der StringBuilder-Klasse
- Verwendung der valueOf()-Methode der String-Klasse
- Verwendung der copyValueOf()-Methode der String-Klasse
- Verwenden von Collectors in Streams
Lassen Sie uns nun jede der Methoden im Detail besprechen und sie mithilfe eines sauberen Java-Programms implementieren.
Methode 1: Verwendung der copyOf()-Methode der Array-Klasse
Das angegebene Zeichen kann an übergeben werden String-Konstruktor . Standardmäßig wird der Inhalt des Zeichenarrays mit der im Arrays.copyOf() vorhandenen Methode kopiert Arrays-Klasse .
Beispiel:
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));> > }> }> |
Ausgabe:
geeksforgeeks
Methode 2: Verwendung der StringBuilder-Klasse
Eine andere Möglichkeit, ein Zeichenarray in eine Zeichenfolge umzuwandeln, ist die Verwendung von StringBuilder-Klasse . Da es sich bei einem StringBuilder um eine veränderliche Klasse handelt, besteht die Idee darin, das Zeichenarray zu durchlaufen und jedes Zeichen am Ende der Zeichenfolge anzuhängen. Schließlich enthält der String die Stringform der Zeichen.
Beispiel:
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)); } }> |
Ausgabe
geeksforgeeks
Methode 3: Verwendung der valueOf()-Methode der String-Klasse
Eine andere Möglichkeit, ein Zeichenarray in eine Zeichenfolge umzuwandeln, ist die Verwendung von Wert von() Methode, die in der String-Klasse vorhanden ist. Diese Methode konvertiert das Zeichenarray grundsätzlich in ein Format, in dem der gesamte Wert der im Array vorhandenen Zeichen angezeigt wird. Diese Methode konvertiert im Allgemeinen int, float, double, char, boolean und sogar object in eine Zeichenfolge. Hier erreichen wir das Ziel, indem wir unser Zeichenarray in einen String konvertieren.
Beispiel:
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));> > }> }> |
Ausgabe
geeksforgeeks
Methode 4: Verwendung der copyValueOf()-Methode der String-Klasse
Der Inhalt des Zeichenarrays wird kopiert und anschließend geändert, ohne dass sich dies auf die zurückzugebende Zeichenfolge auswirkt. Daher ermöglicht uns diese Methode auch, das Zeichenarray in eine Zeichenfolge umzuwandeln, was anhand des folgenden Beispiels noch besser zu erkennen ist.
Beispiel:
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);> > }> }> |
Ausgabe
geeksforgeeks
Methode 5: Verwenden von Collectors in Streams
Mit der Einführung von Streams in Java8 verwenden wir sofort Collectors in Streams, um die Elemente unseres Zeicheneingabe-Arrays zu ändern, und verwenden später die Methode join(), um eine einzelne Zeichenfolge zurückzugeben und auszugeben.
Beispiel:
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);> > }> }> |
Ausgabe
geeksforgeeks