Konwertuj tablicę znaków na ciąg znaków w Javie

Ciągi definiuje się jako tablicę znaków. Różnica między tablicą znaków a ciągiem znaków polega na tym, że ciąg znaków jest zakończony znakiem specjalnym . Tablicę znaków można przekonwertować na ciąg znaków i odwrotnie. W poprzednim artykule omawialiśmy już, jak przekonwertować plik string do tablicy znaków . W tym artykule omówimy, jak przekonwertować tablicę znaków na ciąg znaków.

Ilustracje:

Wejście 1: znak s[] = { 'g', 'e', ​​'e', ​​'k', 's', 'f', 'o', 'r', 'g', 'e', ​​'e', „k”, „s” }

Wyjście 1: maniacy forgeeków

Wejście 2: znak s[] = { „c”, „o”, „d”, „i”, „n”, „g” }

Wyjście 2: kodowanie

Metody:

  1. Użycie metody copyOf() klasy Arrays
  2. Korzystanie z klasy StringBuilder
  3. Użycie metody valueOf() klasy String
  4. Użycie metody copyValueOf() klasy String
  5. Używanie kolektorów w strumieniach

Teraz omówmy szczegółowo każdą z metod wraz z ich implementacją za pomocą czystego programu Java.

Metoda 1: Użycie metody copyOf() klasy Array

Podany znak można przekazać do Konstruktor ciągów . Domyślnie zawartość tablicy znaków jest kopiowana przy użyciu metody Arrays.copyOf() obecnej w pliku Klasa tablic .

Przykład:

Jawa




// 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));> > }> }>

Wyjście:

geeksforgeeks 

Metoda 2: Korzystanie z klasy StringBuilder

Innym sposobem konwersji tablicy znaków na ciąg znaków jest użycie metody Klasa StringBuilder . Ponieważ StringBuilder jest klasą zmienną, pomysł polega na iteracji po tablicy znaków i dołączeniu każdego znaku na końcu łańcucha. Na koniec ciąg zawiera postać ciągu znaków.

Przykład:

Jawa




// 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)); } }>

Wyjście

geeksforgeeks 

Metoda 3: Użycie metody valueOf() klasy String

Innym sposobem konwersji tablicy znaków na ciąg znaków jest użycie metody wartość() metoda występująca w klasie String. Ta metoda z natury konwertuje tablicę znaków na format, w którym wyświetlana jest cała wartość znaków obecnych w tablicy. Ta metoda zazwyczaj konwertuje int, float, double, char, boolean, a nawet obiekt na ciąg znaków. Tutaj osiągniemy cel poprzez konwersję naszej tablicy znaków na ciąg znaków.

Przykład:

Jawa




// 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));> > }> }>

Wyjście

geeksforgeeks 

Metoda 4: Użycie metody copyValueOf() klasy String

Zawartość tablicy znaków jest kopiowana, a następnie modyfikowana bez wpływu na zwracany ciąg znaków, dlatego ta metoda umożliwia nam również konwersję tablicy znaków na ciąg znaków, co można jeszcze lepiej zrozumieć na podstawie poniższego przykładu w następujący sposób.

Przykład:

Jawa




// 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);> > }> }>

Wyjście

geeksforgeeks 

Metoda 5: Używanie kolektorów w strumieniach

Wraz z wprowadzeniem strumieni w Javie 8 od razu używamy kolektorów w strumieniach do modyfikowania elementów tablicy wejściowej znaków, a później używamy metody łączenia() i zwracamy pojedynczy ciąg znaków, a następnie go drukujemy.

Przykład:

Jawa




// 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);> > }> }>

Wyjście

geeksforgeeks