Friday 30 September 2016

A quick and easy way to join array elements with a separator (the opposite of split) in Java




See Related .NET question




I'm looking for a quick and easy way to do exactly the opposite of split
so that it will cause ["a","b","c"] to become "a,b,c"



Iterating through an array requires either adding a condition (if this is not the last element, add the seperator) or using substring to remove the last separator.



I'm sure there is a certified, efficient way to do it (Apache Commons?)



How do you prefer doing it in your projects?


Answer



Using Java 8 you can do this in a very clean way:




String.join(delimiter, elements);


This works in three ways:



1) directly specifying the elements



String joined1 = String.join(",", "a", "b", "c");



2) using arrays



String[] array = new String[] { "a", "b", "c" };
String joined2 = String.join(",", array);


3) using iterables



List list = Arrays.asList(array);

String joined3 = String.join(",", list);

No comments:

Post a Comment

c++ - Does curly brackets matter for empty constructor?

Those brackets declare an empty, inline constructor. In that case, with them, the constructor does exist, it merely does nothing more than t...