Convert Character Array to String in Java

01 May, 2022
Strings are defined as an array of characters. The difference between a character array and a string is the string is terminated with a special character “\0”. A character array can be converted to a string and vice versa. In the previous article, we have already discussed how to convert a string to a character array. In this article, we will discuss how to convert a character array to a string. 
Illustrations:
Input  1 : char s[] = { ‘g’, ‘e’, ‘e’, ‘k’, ‘s’, ‘f’, ‘o’, ‘r’, ‘g’, ‘e’, ‘e’, ‘k’, ‘s’ } 
Output 1 : “geeksforgeeks” 
Input  2 : char s[] = { ‘c’, ‘o’, ‘d’, ‘i’, ‘n’, ‘g’ } 
Output 2 : “coding”
Methods:
Using copyOf() method of Arrays classUsing StringBuilder classUsing valueOf() method of String classUsing copyValueOf() method of String classUsing Collectors in Streams
Using copyOf() method of Arrays class
Using StringBuilder class
Using valueOf() method of String class
Using copyValueOf() method of String class
Using Collectors in Streams
Now let us discuss each of the methods in detail alongside implementing them with help of a clean java program.
Method 1: Using copyOf() method of Array class
The given character can be passed into the String constructor. By default, the character array contents are copied using the Arrays.copyOf() method present in the Arrays class. 
Example:
Java
// Java Program to Convert Character Array to String// Using copyOf() method ofArrays() Class // Importing required classesimport java.util.*; // Main classclass 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));    }}
Output:  
geeksforgeeks
Method 2: Using StringBuilder class
Another way to convert a character array to a string is to use the StringBuilder class. Since a StringBuilder is a mutable class, therefore, the idea is to iterate through the character array and append each character at the end of the string. Finally, the string contains the string form of the characters.
Example:
Java
// Java Program to Convert Character Array to String// Using StringBuilder Class // Importing required classesimport java.util.*; // Main classpublic 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 < a.length; 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));    }}
geeksforgeeks
Method 3: Using valueOf() method of String class
Another way to convert a character array to a string is to use the valueOf() method present in the String class. This method inherently converts the character array to a format where the entire value of the characters present in the array is displayed. This method generally converts int, float, double, char, boolean, and even object to a string. Here we will achieve the goal by converting our character array to string.
Example:
Java
// Java Program to Convert Character Array to String// Using valueOf() method of String Class // Importing required classesimport java.util.*; // Main classclass 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));    }}
geeksforgeeks
Method 4: Using copyValueOf() method of String class
The contents from the character array are copied and subsequently modified without affecting the string to be returned, hence this method also enables us to convert the character array to a string which can be perceived even better from the example provided below as follows.
Example:
Java
// Java Program to Convert Character Array to String// Using copyValueOf() method of String Class // Importing String classimport java.util.*; // Main classclass 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);    }}
geeksforgeeks
Method 5: Using Collectors in Streams
With the introduction of streams in java8, we straight away use Collectors in streams to modify our character input array elements and later uses joining() method and return a single string and print it.
Example:
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 packageimport java.util.stream.Collectors;import java.util.stream.Stream; // Main classclass 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);    }}
geeksforgeeks
solankimayank
Java-Arrays
Java-Strings
Arrays
Java
Strings
Java-Strings
Arrays
Strings
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.