Converteer tekenarray naar tekenreeks in Java

Tekenreeksen worden gedefinieerd als een array van tekens. Het verschil tussen een karakterarray en een string is dat de string wordt afgesloten met een speciaal teken . Een karakterarray kan worden geconverteerd naar een string en omgekeerd. In het vorige artikel hebben we al besproken hoe je een string naar een karakterarray . In dit artikel bespreken we hoe je een karakterarray naar een string converteert.

Illustraties:

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

Uitgang 1: geeksforgeeks

Ingang 2: char s[] = {‘c’, ‘o’, ‘d’, ‘i’, ‘n’, ‘g’ }

Uitgang 2: codering

Methoden:

  1. Met behulp van de copyOf()-methode van de klasse Arrays
  2. Gebruik de StringBuilder-klasse
  3. Met behulp van de valueOf()-methode van de String-klasse
  4. Met behulp van de copyValueOf()-methode van de String-klasse
  5. Verzamelprogramma's gebruiken in stromen

Laten we nu elk van de methoden in detail bespreken en ze implementeren met behulp van een schoon Java-programma.

Methode 1: Met behulp van de copyOf()-methode van de klasse Array

Het opgegeven teken kan worden doorgegeven in de String-constructor . Standaard wordt de inhoud van de tekenarray gekopieerd met behulp van de methode Arrays.copyOf() die aanwezig is in het Arrays-klasse .

Voorbeeld:

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

Uitgang:

geeksforgeeks 

Methode 2: Met behulp van de StringBuilder-klasse

Een andere manier om een ​​karakterarray naar een string te converteren is door de StringBuilder-klasse . Omdat een StringBuilder een veranderlijke klasse is, is het de bedoeling om de karakterarray te doorlopen en elk karakter aan het einde van de string toe te voegen. Tenslotte bevat de string de stringvorm van de karakters.

Voorbeeld:

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

Uitvoer

geeksforgeeks 

Methode 3: Met behulp van de valueOf()-methode van de String-klasse

Een andere manier om een ​​karakterarray naar een string te converteren is door de waarde van() methode aanwezig in de String-klasse. Deze methode converteert de karakterarray inherent naar een formaat waarin de volledige waarde van de karakters in de array wordt weergegeven. Deze methode converteert doorgaans int, float, double, char, boolean en zelfs object naar een string. Hier zullen we het doel bereiken door onze karakterarray naar string te converteren.

Voorbeeld:

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

Uitvoer

geeksforgeeks 

Methode 4: Met behulp van de copyValueOf()-methode van de String-klasse

De inhoud van de karakterarray wordt gekopieerd en vervolgens gewijzigd zonder de terug te sturen string te beïnvloeden. Daarom stelt deze methode ons ook in staat de karakterarray om te zetten in een string die nog beter kan worden waargenomen aan de hand van het onderstaande voorbeeld, als volgt.

Voorbeeld:

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

Uitvoer

geeksforgeeks 

Methode 5: Verzamelprogramma's gebruiken in stromen

Met de introductie van streams in java8 gebruiken we meteen Collectors in streams om onze karakterinvoerarray-elementen te wijzigen en gebruiken we later de join()-methode en retourneren we een enkele string en drukken deze af.

Voorbeeld:

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

Uitvoer

geeksforgeeks