Java List to String

In this post, we will see how to convert List to String in java.
Following are the ways to convert list into String:

Using StringBuilder

We can use StringBuilder class to convert List to String. StringBuilder is the best approach if you have other than String Array, List.We can add elements in the object of StringBuilder using the append() method while looping and then convert it into string using toString() method of String class at the end.

Example:

OUTPUT:

Elements of list are:[Mary, Martin, John, Newton] Converted String is Mary,Martin,John,Newton,

Using + operator

This is not an efficient way so, normally avoid it.We use concate(+) operator to add one by one element from array inside loop and assign it into String.

Example:

OUTPUT:

Elements of list are:[Mary, Martin, John, Newton] Converted String is Mary,Martin,John,Newton,

Using String’s join method in java 8

String’s join method is introduced in Java 8 . This method is very handy to create delimited separated String from list.

This approach will work only for List of String. In case, if you have list of Double, then you can use java 8‘s Collectors to join the String.
Here is an example:

Output:

Elements of list are:[34.2, 29.7, 40.2, 50.4] Converted String is: 34.2,29.7,40.2,50.4

As you can see, we have used Collectors.joining(",") to join elements of String by ,

Using Apache common lang3

You can also use Apache common’s StringUtils to convert list to String.
Here is the dependency which you need to add for Apache common lang3 in pom.xml.

Here is the example:

Elements of list are:[1, 2, 3, 4] Converted String is: 1*2*3*4

Using Guava library

You can also use Guava’s Joiner class to convert list to String.
Here is the dependency which you need to add for guava in pom.xml.

Here is the example:

Elements of list are:[1, 2, 3, 4] Converted String is: 1*2*3*4

As you can see, we have used com.google.common.base.Joiner class to join elements of String by *

Print elements of list as String

Sometimes, we just need to print elements of the list. We can simply use toString() method
Let’s understand with the help of example.

Output:

Elements of list are:[1, 2, 3, 4]

Did you notice we did not even call toString() method on intList object?
JVM internally calls toString() method of type of element within this list. In this case, we have list of Integers, so it will call Integer’s toString() method.

In case, you have custom object, then you should override toString() method, else it will give you unexpected results.
Let’s see with the help of example
Create a simple class named Color.java

Create main class named PrintListOfColorsMain.java

Output:

[org.arpit.java2blog.Color@6d06d69c, org.arpit.java2blog.Color@7852e922, org.arpit.java2blog.Color@4e25154f, org.arpit.java2blog.Color@70dea4e]

If you notice, we don’t have toString() method in Color class, that’s why it is calling Object’s toString() method.

We need to override toString() method in Color class and we will get informative output.

When you run PrintListOfColorsMain again, you will get below output:

[Color [name:Red HtmlCode:#FF0000], Color [name:Blue HtmlCode:0000FF], Color [name:White HtmlCode:#FFFFFF], Color [name:Green HtmlCode:#008000]]

As you can see, we have much meaningful output now.

That’s all about converting List to String in java.

Was this post helpful?

Leave a Reply

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