Převeďte pole znaků na řetězec v Javě
Řetězce jsou definovány jako pole znaků. Rozdíl mezi polem znaků a řetězcem je v tom, že řetězec je zakončen speciálním znakem . Pole znaků lze převést na řetězec a naopak. V předchozím článku jsme již diskutovali o tom, jak převést a řetězec do pole znaků . V tomto článku budeme diskutovat o tom, jak převést pole znaků na řetězec.
ilustrace:
Vstup 1: char s[] = { 'g', 'e', 'e', 'k', 's', 'f', 'o', 'r', 'g', 'e', 'e', 'k', 's'}
Výstup 1: geeksforgeeks
Vstup 2: char s[] = { ‚c‘, ‚o‘, ‚d‘, ‚i‘, ‚n‘, ‚g‘ }
Výstup 2: kódování
Metody:
- Použití metody copyOf() třídy Arrays
- Použití třídy StringBuilder
- Použití metody valueOf() třídy String
- Použití metody copyValueOf() třídy String
- Použití kolektorů ve streamech
Nyní pojďme diskutovat o každé z metod podrobně spolu s jejich implementací pomocí čistého programu Java.
Metoda 1: Použití metody copyOf() třídy Array
Daný znak lze předat do Konstruktor řetězce . Ve výchozím nastavení je obsah pole znaků zkopírován pomocí metody Arrays.copyOf() obsažené v souboru Třída pole .
Příklad:
Jáva
// 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));> > }> }> |
Výstup:
geeksforgeeks
Metoda 2: Použití třídy StringBuilder
Dalším způsobem, jak převést pole znaků na řetězec, je použít Třída StringBuilder . Vzhledem k tomu, že StringBuilder je měnitelná třída, je myšlenkou iterovat pole znaků a připojit každý znak na konec řetězce. Nakonec řetězec obsahuje řetězcovou formu znaků.
Příklad:
Jáva
// 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)); } }> |
Výstup
geeksforgeeks
Metoda 3: Použití metody valueOf() třídy String
Dalším způsobem, jak převést pole znaků na řetězec, je použít hodnota() metoda přítomná ve třídě String. Tato metoda ze své podstaty převádí pole znaků do formátu, kde je zobrazena celá hodnota znaků přítomných v poli. Tato metoda obecně převádí int, float, double, char, boolean a dokonce objekt na řetězec. Zde dosáhneme cíle převedením našeho pole znaků na řetězec.
Příklad:
Jáva
// 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));> > }> }> |
Výstup
geeksforgeeks
Metoda 4: Použití metody copyValueOf() třídy String
Obsah z pole znaků se zkopíruje a následně upraví, aniž by to ovlivnilo vracený řetězec, proto nám tato metoda také umožňuje převést pole znaků na řetězec, který lze ještě lépe vnímat z níže uvedeného příkladu.
Příklad:
Jáva
// 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);> > }> }> |
Výstup
geeksforgeeks
Metoda 5: Používání kolektorů ve streamech
Se zavedením streamů v java8 rovnou používáme kolektory ve streamech k úpravě našich prvků vstupního pole znaků a později používáme metodu joining() a vracíme jeden řetězec a tiskneme jej.
Příklad:
Jáva
// 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);> > }> }> |
Výstup
geeksforgeeks