Convert char to String in Java

Filed Under: Java

Sometimes we have to convert char to String in java program. Here we will look into different methods you can convert character to string in java. We will also learn how to convert char array to String using different methods.

Convert char to String Java

convert char to string java

Here is a simple program showing different ways to convert char to string in java.


package com.journaldev.string;

public class CharToStringJava {

	public static void main(String[] args) {

		// char to string
		char c = 'a';
		String str = String.valueOf(c);

		// using Character class
		str = Character.toString(c);

		// another way
		str = new Character(c).toString();
		// string concatenation - worst performance
		str = "" + c;
		
		// char array to string
		char[] ca = { 'a', 'b', 'c' };
		str = String.valueOf(ca);
		// recommended way
		str = new String(ca);

	}

}

Let’s look at these methods one by one.

String.valueOf(char c)

This is the most efficient method to convert char to string. You should always use this method and this is the recommended way to convert character to string in java program.

Character.toString(c)

This method internally calls String.valueOf(c), so there is no difference between this one. You can use this too if you are already using Character class in your code.

new Character(c).toString();

This is another way, however not recommended because we are creating a Character unnecessarily.

String concatenation

str = "" + c; is the worst way to convert char to string because internally it’s done by new StringBuilder().append("").append(c).toString() that is slow in performance.

Let’s look at the two methods to convert char array to string in java program.

String constructor

You can use String(char[] value) constructor to convert char array to string. This is the recommended way.

String.valueOf(char[] data)

String valueOf method is overloaded and there is one that accepts character array. Internally this method calls the String constructor, so it’s same as above method.

That’s all for converting char to string and char array to string in java.

Comments

  1. Yogesh says:

    Hi Pankaj,

    Code below prints incorrect value while doing string processing.
    How do we convert int[] to String . int[] is converted to by stream processing.

    public class StringFilter {

    public static void main(String[] args) {
    String test= “abcd”;

    int[] array = test.chars().toArray();

    System.out.println(String.valueOf(array));
    }
    }

  2. M A says:

    Nice article….www.marpasys.com

  3. ajay says:

    Thanks Pankaj

Leave a Reply

Your email address will not be published. Required fields are marked *

close
Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages