This post will discuss how to convert a primitive character array to a string using plain Java.
1. Using String Constructor
The String
class contains several overloaded versions of its constructor. One such constructor is String(char[])
that accepts a character array as a parameter. It allocates a new string that represents the sequence of characters contained in the character array argument.
1 2 3 4 5 6 7 8 9 10 11 |
class Main { // Program to convert a primitive character array to a string public static void main(String[] args) { char[] charArray = { 'J', 'a', 'v', 'a' }; String str = new String(charArray); System.out.println(str); } } |
Output:
Java
2. Using String.valueOf()
method
Java SE String
class provides static valueOf(char[])
method that returns the string representation of the character array argument.
1 2 3 4 5 6 7 8 9 10 11 |
class Main { // Program to convert a primitive character array to a string public static void main(String[] args) { char[] charArray = { 'J', 'a', 'v', 'a' }; String str = String.valueOf(charArray); System.out.println(str); } } |
Output:
Java
3. Using String.copyValueOf()
method
String
class also has copyValueOf(char[])
that is equivalent to valueOf(char[])
which is discussed in last section. It returns a string that contains the characters of the specified character array.
1 2 3 4 5 6 7 8 9 10 11 |
class Main { // Program to convert a primitive character array to a string public static void main(String[] args) { char[] charArray = { 'J', 'a', 'v', 'a' }; String str = String.copyValueOf(charArray); System.out.println(str); } } |
Output:
Java
4. Using Java 8
In Java 8, we can do something like by using streams.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import java.util.stream.Collectors; import java.util.stream.Stream; // Program to convert a primitive character array to a string class Main { public static void main(String[] args) { char[] charArray = { 'J', 'a', 'v', 'a' }; String string = Stream.of(charArray) .map(String::new) .collect(Collectors.joining()); System.out.println(string); } } |
Output:
Java
Please note that in all approaches discussed above, the contents of the character array are copied. That means that any subsequent modification of the character array will not affect the returned string.
That’s all about converting a character array to a Java String.
Related Post:
Reference: String Javadoc (Java Platform SE 8)