Konverter Character Array til String i Java

Strenge er defineret som en række tegn. Forskellen mellem et tegnarray og en streng er, at strengen afsluttes med et specialtegn . Et tegnarray kan konverteres til en streng og omvendt. I den forrige artikel har vi allerede diskuteret, hvordan man konverterer en streng til et tegnarray . I denne artikel vil vi diskutere, hvordan man konverterer et tegnarray til en streng.

Illustrationer:

Indgang 1: char s[] = { 'g', 'e', ​​'e', ​​'k', 's', 'f', 'o', 'r', 'g', 'e', ​​'e', 'k', 's' }

Output 1: geeksforgeeks

Indgang 2: char s[] = { 'c', 'o', 'd', 'i', 'n', 'g' }

Output 2: kodning

Metoder:

  1. Bruger metoden copyOf() i Arrays-klassen
  2. Brug af StringBuilder-klassen
  3. Bruger metoden valueOf() i String-klassen
  4. Brug af metoden copyValueOf() i String-klassen
  5. Brug af samlere i streams

Lad os nu diskutere hver af metoderne i detaljer sammen med implementeringen af ​​dem ved hjælp af et rent java-program.

Metode 1: Brug af metoden copyOf() i Array-klassen

Den givne karakter kan overføres til Strengekonstruktør . Som standard kopieres indholdet af tegnarray ved hjælp af Arrays.copyOf()-metoden, der findes i Arrays klasse .

Eksempel:

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

Produktion:

geeksforgeeks 

Metode 2: Brug af StringBuilder-klassen

En anden måde at konvertere et tegnarray til en streng er at bruge StringBuilder klasse . Da en StringBuilder er en foranderlig klasse, er ideen derfor at iterere gennem tegnarrayet og tilføje hvert tegn i slutningen af ​​strengen. Endelig indeholder strengen tegnernes strengform.

Eksempel:

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

Produktion

geeksforgeeks 

Metode 3: Bruger metoden valueOf() i String-klassen

En anden måde at konvertere et tegnarray til en streng er at bruge Værdi af() metode til stede i String-klassen. Denne metode konverterer i sagens natur tegnarrayet til et format, hvor hele værdien af ​​de tegn, der er til stede i arrayet, vises. Denne metode konverterer generelt int, float, double, char, boolean og endda objekt til en streng. Her vil vi nå målet ved at konvertere vores karakterarray til streng.

Eksempel:

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

Produktion

geeksforgeeks 

Metode 4: Brug af metoden copyValueOf() i String-klassen

Indholdet fra tegnarrayet kopieres og modificeres efterfølgende uden at påvirke strengen, der skal returneres, derfor gør denne metode os også i stand til at konvertere tegnarrayet til en streng, som kan opfattes endnu bedre fra eksemplet nedenfor som følger.

Eksempel:

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

Produktion

geeksforgeeks 

Metode 5: Brug af samlere i streams

Med introduktionen af ​​streams i java8 bruger vi straks Collectors i streams til at ændre vores karakterinput-array-elementer og bruger senere joining()-metoden og returnerer en enkelt streng og udskriver den.

Eksempel:

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

Produktion

geeksforgeeks