Pretvori niz znakov v niz v Javi
Nizi so definirani kot niz znakov. Razlika med nizom znakov in nizom je v tem, da se niz konča s posebnim znakom . Niz znakov je mogoče pretvoriti v niz in obratno. V prejšnjem članku smo že razpravljali o tem, kako pretvoriti a niz v niz znakov . V tem članku bomo razpravljali o tem, kako pretvoriti niz znakov v niz.
Ilustracije:
Vnos 1: char s[] = { 'g', 'e', 'e', 'k', 's', 'f', 'o', 'r', 'g', 'e', 'e', 'k', 's' }
Izhod 1: geeksforgeeks
Vnos 2: char s[] = { 'c', 'o', 'd', 'i', 'n', 'g' }
Izhod 2: kodiranje
Metode:
- Uporaba metode copyOf() razreda Arrays
- Uporaba razreda StringBuilder
- Uporaba metode valueOf() razreda String
- Uporaba metode copyValueOf() razreda String
- Uporaba zbiralnikov v tokovih
Zdaj pa podrobno razpravljajmo o vsaki od metod skupaj z njihovo implementacijo s pomočjo čistega programa Java.
1. način: Uporaba metode copyOf() razreda Array
Dani znak je mogoče posredovati v Konstruktor nizov . Privzeto se vsebina niza znakov prekopira z uporabo metode Arrays.copyOf(), ki je prisotna v Razred nizov .
primer:
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));> > }> }> |
Izhod:
geeksforgeeks
2. način: Uporaba razreda StringBuilder
Drug način za pretvorbo niza znakov v niz je uporaba Razred StringBuilder . Ker je StringBuilder spremenljiv razred, je ideja iteracija skozi niz znakov in dodajanje vsakega znaka na konec niza. Končno niz vsebuje obliko niza znakov.
primer:
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)); } }> |
Izhod
geeksforgeeks
3. način: Uporaba metode valueOf() razreda String
Drug način za pretvorbo niza znakov v niz je uporaba valueOf() metoda, ki je prisotna v razredu String. Ta metoda sama po sebi pretvori matriko znakov v obliko, kjer je prikazana celotna vrednost znakov, prisotnih v matriki. Ta metoda na splošno pretvori int, float, double, char, boolean in celo object v niz. Tukaj bomo dosegli cilj s pretvorbo naše matrike znakov v niz.
primer:
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));> > }> }> |
Izhod
geeksforgeeks
4. način: Uporaba metode copyValueOf() razreda String
Vsebina iz niza znakov se prekopira in nato spremeni, ne da bi to vplivalo na niz, ki ga je treba vrniti, zato nam ta metoda omogoča tudi pretvorbo niza znakov v niz, ki ga je mogoče še bolje zaznati iz spodnjega primera, kot sledi.
primer:
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);> > }> }> |
Izhod
geeksforgeeks
5. način: Uporaba zbiralcev v tokovih
Z uvedbo tokov v java8 takoj uporabimo zbiralnike v tokovih za spreminjanje elementov naše vhodne matrike znakov, pozneje pa uporabimo metodo joining() in vrnemo en sam niz ter ga natisnemo.
primer:
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);> > }> }> |
Izhod
geeksforgeeks