Muunna merkkijono merkkijonoksi Javassa
Merkkijonot määritellään merkkijonoksi. Ero merkkijonon ja merkkijonon välillä on se, että merkkijono päätetään erikoismerkillä . Merkkijono voidaan muuntaa merkkijonoksi ja päinvastoin. Edellisessä artikkelissa olemme jo keskustelleet kuinka muuntaa a merkkijono merkkijonoon . Tässä artikkelissa keskustelemme siitä, kuinka merkkijono muunnetaan merkkijonoksi.
Kuvitukset:
Syöte 1: char s[] = { 'g', 'e', 'e', 'k', 's', 'f', 'o', 'r', 'g', 'e', 'e', 'k', 's' }
Lähtö 1: geeksforgeeks
Syöte 2: char s[] = { 'c', 'o', 'd', 'i', 'n', 'g' }
Lähtö 2: koodaus
Menetelmät:
- Arrays-luokan copyOf()-menetelmällä
- StringBuilder-luokan käyttäminen
- String-luokan valueOf()-metodin käyttö
- String-luokan copyValueOf()-menetelmän käyttäminen
- Keräilijöiden käyttäminen Streamsissä
Keskustelkaamme nyt jokaisesta menetelmästä yksityiskohtaisesti ja toteuttakaamme ne puhtaan java-ohjelman avulla.
Tapa 1: Array-luokan copyOf()-menetelmän käyttäminen
Annettu hahmo voidaan siirtää sisään Jousen rakentaja . Oletusarvon mukaan merkkijonon sisältö kopioidaan käyttämällä Arrays.copyOf()-menetelmää, joka on Arrays-luokka .
Esimerkki:
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));> > }> }> |
Lähtö:
geeksforgeeks
Tapa 2: StringBuilder-luokan käyttäminen
Toinen tapa muuntaa merkkijono merkkijonoksi on käyttää StringBuilder-luokka . Koska StringBuilder on muuttuva luokka, ideana on iteroida merkkijono ja liittää jokainen merkki merkkijonon loppuun. Lopuksi merkkijono sisältää merkkien merkkijonomuodon.
Esimerkki:
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)); } }> |
Lähtö
geeksforgeeks
Tapa 3: String-luokan valueOf()-metodin käyttö
Toinen tapa muuntaa merkkijono merkkijonoksi on käyttää jonkin arvo() String-luokassa oleva menetelmä. Tämä menetelmä muuntaa luonnostaan merkkijonon muotoon, jossa taulukossa olevien merkkien koko arvo näytetään. Tämä menetelmä yleensä muuntaa int-, float-, double-, char-, boolean- ja jopa objektin merkkijonoksi. Tässä saavutamme tavoitteen muuntamalla merkkijonomme merkkijonoksi.
Esimerkki:
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));> > }> }> |
Lähtö
geeksforgeeks
Tapa 4: String-luokan copyValueOf()-menetelmän käyttäminen
Merkkitaulukon sisältö kopioidaan ja sen jälkeen muokataan vaikuttamatta palautettavaan merkkijonoon, joten tämä menetelmä mahdollistaa myös merkkijonon muuntamisen merkkijonoksi, joka voidaan havaita vielä paremmin alla olevasta esimerkistä seuraavasti.
Esimerkki:
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);> > }> }> |
Lähtö
geeksforgeeks
Menetelmä 5: Keräilijöiden käyttäminen Streamsissä
Kun otamme käyttöön streamit java8:ssa, käytämme heti Collectors in streams -toimintoa muokataksemme merkkien syöttötaulukon elementtejä, ja myöhemmin käytämme joining()-menetelmää ja palauttamme yhden merkkijonon ja tulostamme sen.
Esimerkki:
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 ->>> |