JavaScript has Array.join()
js>["Bill","Bob","Steve"].join(" and ")
Bill and Bob and Steve
Does Java have anything like this? I know I can cobble something up myself with StringBuilder
:
static public String join(List<String> list, String conjunction)
{
StringBuilder sb = new StringBuilder();
boolean first = true;
for (String item : list)
{
if (first)
first = false;
else
sb.append(conjunction);
sb.append(item);
}
return sb.toString();
}
.. but there's no point in doing this if something like it is already part of the JDK.
Best Answer
With Java 8 you can do this without any third party library.
If you want to join a Collection of Strings you can use the new String.join() method:
If you have a Collection with another type than String you can use the Stream API with the joining Collector:
The
StringJoiner
class may also be useful.