Convert Java Char Array to a String

Convert Java Char Array to a String

Looking to convert Java Char array to String?

Lets explore numbers of ways to achieve it using Java programming language.

Char array can be converted to String and vice versa.

Allocate a String that exhibits the sequence of characters present in a char array.

As String is immutable in Java, the consecutive modification of the character array does not impact the allocated String.

Using String Constructor

The String class provides inbuilt constructor which accepts a char array as an argument.

public static void main(String[] args) {
	try {
	 char[] charArray = { 'W', 'E', 'L', 'C', 'O', 'M', 'E'};
	 String value = new String(charArray);
	 System.out.println("String Class Value is: " +value);		 
	} catch (Exception e) {
		e.printStackTrace();
	}

}

Output:
String Class Value is: WELCOME

 

With StringBuilder

public static void main(String[] args) {
try {
  final char[][] arrayCharArray = {{'w','e'},{'l','c'},{'o','m','e'}};    
  StringBuilder sb = new StringBuilder();
  for (char[] childArray : arrayCharArray) {
   sb.append(childArray);
    }
    System.out.println("After Forming as String: " +sb);		 
    } catch (Exception e) {
		e.printStackTrace();
    }

}

Output:
After Forming as String: welcome

 

Using String.valueOf() Method

The String class provides valueOf() method which converts to string directly.

public static void main(String[] args) {
 try {
   char[] charArray = { 'W', 'E', 'L', 'C', 'O', 'M', 'E'};
   String value = String.valueOf(charArray);
   System.out.println("String Value is: " +value);		 
     } catch (Exception e) {
	   e.printStackTrace();
     }

}

Output:
String Value is: WELCOME

 

Using String.copyValueOf() Method

The String class provides another method copyValueOf() method.

This will copy char array to string in Java.

This method is very similar to valueOf() method.

public static void main(String[] args) {
try {
  char[] charArray = { 'W', 'E', 'L', 'C', 'O', 'M', 'E'};
  String value = String.copyValueOf(charArray);
  System.out.println("String copyValueOf is: " +value);		 
    } catch (Exception e) {
       e.printStackTrace();
    }

}

Output:
String copyValueOf is: WELCOME

 

Utilizing Java 8 Streams

We can utilize the Collectors.joining() method to form a String.

stream method defined in the following way.

public static void main(String[] args) {
try {
  Character[] charArray = { 'W', 'E', 'L', 'C', 'O', 'M', 'E'};
  Stream<Character> charStream = Arrays.stream(charArray);
  String value = charStream.map(String::valueOf).collect(Collectors.joining());	    
  System.out.println("String Java 8 Stream is: " +value);		 
    } catch (Exception e) {
	   e.printStackTrace();
    }

}

Output:
String Java 8 Stream is: WELCOME

 

Using Google’s Guava Joiner Method

We can use the Guava Common Base Joiner method, to convert from Character array to delimiter string value.

The import package is import com.google.common.base.Joiner;

public static void main(String[] args) {
 try {
	Character[] charArray = { 'W', 'E', 'L', 'C', 'O', 'M', 'E'};
	String value = Joiner.on("-").join(charArray);
	System.out.println("Joiner Value is: " +value);		 
     } catch (Exception e) {
        e.printStackTrace();
     }

}

Output:
Joiner Value is: W-E-L-C-O-M-E

 

Convert a Byte Array to String in Java

As we know byte[] stores binary data and String stores text data.

So lets see how to convert a byte array to string with character encoding and without character encoding.

With Character Encoding:

It supports both UNICODE and ASCII format.

In this case, lets use StandardCharsets.UTF_8 to specify the type of character encoding type.

This tells how to encode the input characters into the sequence of bytes.

public static void main(String[] args) throws IOException
	{
		String value = "Byte Array";
		byte[] bytes = value.getBytes(StandardCharsets.UTF_8);
		// Now Create a string from a byte array with "UTF-8" encoding
		String result = new String(bytes, StandardCharsets.UTF_8);
		System.out.println(result);
	}
	

Output:	
Byte Array

Without Character Encoding:

Lets convert byte array to string without specifying the character encoding.

So here we declared an string variable and converted into bytes using getBytes() method.

Finally passed the bytes to String object instance to achieve the desired output.

public static void main(String[] args) throws IOException
	{
		String value = "Byte Array";
		byte[] bytes = value.getBytes();
		String result = new String(bytes);
		System.out.println(result);
	}
	

Output:	
Byte Array


You May Also Love,

Iterate through the characters of a string in Java

Lets use for loop function to iterate the number of characters of a String.

Apply charAt() method to retrieve each character and check it.

public static void main(String[] args) throws IOException
	{
		String value = "char";
		for (int i = 0; i < value.length(); i++){
		    char result = value.charAt(i);
		    System.out.println("printing : "+result);
		}

	}
	

Output:	
printing : c
printing : h
printing : a
printing : r

Lets look at efficient way of using for loop function with below code snippet.

public static void main(String[] args) throws IOException
	{
		String value = "char";
		for(char result : value.toCharArray()) {
			System.out.println("printing : "+result);
		}
	}	

Output:
printing : c
printing : h
printing : a
printing : r



Tip:
Unlike C, There’s no such entity as NULL in Java. Null is not a valid value for a char variable.
A char can have a integer value of zero, which has no particular significance.

To conclude this java tutorial, we covered various examples on converting char Array to a String in Java.

12 Methods to Convert a List to String in Java

12 Methods to Convert a List to String in Java

Looking to convert List to String in Java? Let’s have a look at how to convert a Java Collections List of elements to a String in Java. In this post, we have talked about these best 12 methods of convert list string in java, you can learn and also implement it easily.

To Convert a list to string in java, You can do by,

1. Using toString()
2. List Of Object To String
3. Join Method(StringUtils)
4. Stream Collectors
5. Comma Separator(delimiter)
6. Convert Character List To String
7. With Double Quotes
8. Sort Method
9. toJSON Method
10. The method in Java 8
11. ReplaceAll Method
12. LinkList to String

Introduction to Convert List to String in Java

Basically List in Java is an ordered collection or a default sequence.

List accepts duplicate elements unlike Map doesn’t accept duplicate values and also holds the object in key-value pairs.

We can print the contents of a List element in a readable form while debugging the code, which is helpful.

List interface and String class were part of Java object-oriented programming API.

We can add any type of Java object to a List. If the List does not type, then using Java Generics we can apply objects of various types in the same List.

Typically we will enclose the generic type in square brackets.

Using toString()

From the below Java program, let’s see how to convert Java list to string array using the toString method.

We are passing an integer argument(number) to create a java string array using the Java Arrays asList() method.

In other words, we are passing a list of integers as an array to list.

public static void main(String[] args) {
try {
	List<Integer> list = Arrays.asList(0, 1, 2, 3);
	System.out.println(list);
	} catch (Exception e) {
		e.printStackTrace();
	}
}
    
Output:
[0, 1, 2, 3]

As per the output code above, we can see a list of array values printed as an array of strings or string array in java.

This way of implementation uses the inbuilt toString() method within the List.

Here Integer Java generics type has an internal implementation of the toString() method.

In the above example, we used Arrays.asList to create an array in java in an optimal manner.

But we can also use standard ArrayList in java and can add the values using the list.add() method or addAll method.

Also, we can convert from traditional ArrayList to String Array using ArrayList Class.

Interview Question 1 -> Primitive Types in Java:

boolean, byte, char, short, int, long, float, and double are the primitive types in Java API.

You May Like,

List of Object to String

Let’s see how Object toString() method works as per below java program class.

public class HelloObject {
	
	String name;
	int age;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	@Override
	public String toString() {
		return "HelloObject [name=" + name + ", age=" + age + "]";
	}
	
}

Here the custom toString() function which returns in a custom string object format.

public static void main(String[] args) {
try {
    	List<HelloObject> list = new ArrayList<HelloObject>();
		HelloObject hb = new HelloObject();
		hb.setName("James");
		hb.setAge(25);
		list.add(hb);
		System.out.println(List);
	} catch (Exception e) {
		e.printStackTrace();
	}
}
	
Output:
[HelloObject [name=James, age=25]]

Here custom toString() in the HelloObject will convert the Object into String representation format.

As per output, we can see the list of string.

Interview Question 2 -> ArrayList vs LinkedList:

Array List in java API applies a dynamic array to store the elements.

Whereas LinkedList uses a double linked list to store the elements.

Also, the ArrayList String value can convert to a byte array using the Java programming language.

Again both ArrayList and LinkedList accept duplicate values.

But we can remove duplicates using plain Java code, Lambdas, Guava.

Join Method (StringUtils)

We can use the join method of Apache Commons Lang StringUtils class to achieve the java list to string conversion.

public static void main(String[] args) {
try {
	List<Integer>list = Arrays.asList(0, 1, 2, 3);
	System.out.println(StringUtils.join(list, " "));
	} catch (Exception e) {
		e.printStackTrace();
	}
}
    
Output:
0 1 2 3

StringUtils.join method have inbuilt toString() method.

As we can see from the above output, it prints the List elements as String data type with space delimiter.

we can also use java regular expressions to define a search pattern for strings.

A regular expression is best applicable for pattern matching of expressions or functions.

Here is the maven dependency for Apache commons-lang StringUtils class of java API.

you can use this in your project pom.xml file as a dependency.


<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.9</version>
</dependency>

The latest version of the dependency will be available here.

Stream Collectors

convert list to string in java

java list to string

Now let’s use the Java Util Stream Collectors API package to convert List to String.

Here we leverage Java streams method stream() for conversion.

public static void main(String[] args) {
try {
	List<Integer> list = Arrays.asList(1, 2, 3);
	String result = list.stream().
		map(i -> String.valueOf(i)).
		collect(Collectors.joining("/", "(", ")"));
	System.out.println(result);
	} catch (Exception e) {
		e.printStackTrace();
	}
}
        
Output:		
(1/2/3)

In the above example, we can see the usage of the stream(). map, note that it is different from standard java map.

Comma Separator(delimiter)

Let’s go through how to convert using comma-separated values.

public static void main(String[] args) {
	try {
		List<String> countries = Arrays.asList("USA", "UK", "Australia", "India");
		String countriesComma = String.join(",", countries);
		System.out.println(countriesComma);
	} catch (Exception e) {
		e.printStackTrace();
	}
}
Output:
USA,UK,Australia,India

As per the output above, we can see conversion using delimiter i,e. separated by Comma or Comma separated.

Using join method, you can convert List to String with Separator comma, backslash, space, and so on.

Convert Character List to String

Let’s go through how to convert List of Characters to String using StringBuilder class.

public static void main(String[] args) {
	try {
        List<Character> list =  
                Arrays.asList('c', 's', 'v'); 
        StringBuilder sb = new StringBuilder(); 
        for (Character chr : list) { 
            sb.append(chr); 
        } 
        // convert to string 
        String result = sb.toString(); 
        System.out.println(result); 
	} catch (Exception e) {
		e.printStackTrace();
	}
}

Output:
csv

with Double Quotes

Using Apache Commons StringUtils package, convert List to String with Quotes using Java.

Refer to the below implementation

public static void main(String[] args) {
	try {
	 List<String> countries = Arrays.asList("USA", "UK", "Australia", "India");
	 String join = StringUtils.join(countries, "\", \"");
	 String wrapQuotes = StringUtils.wrap(join, "\"");	 
	 System.out.println(wrapQuotes);
	 } catch (Exception e) {
	  e.printStackTrace();
	 }
}
Output:
"USA", "UK", "Australia", "India"

Of course, you can convert using Single Quotes with Single String as well.

Sort Method

we can convert using Java Sort with the below implementation.

public static void main(String[] args) {
	try {
	 List<String> countries = Arrays.asList("USA", "UK", "Australia", "India");
	 countries.sort(Comparator.comparing(String::toString)); 
	 System.out.println(countries);
	 } catch (Exception e) {
		e.printStackTrace();
	 }
}
Output:
[Australia, India, UK, USA]

toJson Method

Let’s convert List to String JSON in Java using Google GSON library.

It is a straight forward method ToJson() which will set and convert the input to JSON String.

public static void main(String[] args) {
	try {
	 List<String> countries = Arrays.asList("USA", "UK", "Australia", "India");
	 String json = new Gson().toJson(countries);
	 System.out.println(json);
	 } catch (Exception e) {
	   e.printStackTrace();
	 }
}

Output:
["USA","UK","Australia","India"]

In Java 8

Let’s convert List to String using String.join() method in Java 8.

public static void main(String[] args) {

	try {
		List<String> list = Arrays.asList("USA", "UK", "INDIA");
		String delimiter = "-";
		String result = String.join(delimiter, list);
		System.out.println(result);
	} catch (Exception e) {
		e.printStackTrace();
	}
}

Output:
USA-UK-INDIA

replaceAll Method

Lets convert List to String using replaceAll() and String.join() method.

You can also notice inline lambda expressions used in the replaceAll method.

public static void main(String[] args) {

	try {
		List<String> countries = Arrays.asList("usa", "uk", "india");
		countries.replaceAll(r -> r.toUpperCase());
		String result = String.join(" ", countries);
		System.out.println(result);
	} catch (Exception e) {
		e.printStackTrace();
	}
	}

Output:
USA UK INDIA

LinkedList to String

Let’s convert LinkedList to String using String.join() method.

public static void main(String[] args) {

		try {
			LinkedList<String> list = new LinkedList();
			list.add("USA");
			list.add("UK");
			list.add("INDIA");
		    String result = String.join(" ", list);
		    System.out.println(result);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
Output:
USA UK INDIA

In case of any issues during conversion, we can notice the error message in the console log.

To conclude, in this tutorial we gone through different ways to convert a Java List to String data type.

List to String methods conversion is also common in other programming languages like JavaScript, Python, Jquery.

In a nutshell, JavaScript uses an str function for concatenate, likewise, the python program uses join method for conversion and concatenate a string.

Interested to read JavaScript resources, check out this JavaScript split method article.

Keeping sharing java tutorials and happy coding 🙂

Pin It on Pinterest