The main goal of this project is to show Collectors.joining
API
and String.join
.
public static
Collector<CharSequence, ?, String>
joining()
public static
Collector<CharSequence, ?, String>
joining(CharSequence delimiter)
public static
Collector<CharSequence, ?, String>
joining(CharSequence delimiter,
CharSequence prefix,
CharSequence suffix)
public static
String
join(CharSequence delimiter, CharSequence... elements)
public static
String
join(CharSequence delimiter, Iterable<? extends CharSequence> elements)
We provide tests for mentioned above methods.
- "a", "b", "c" -> "abc"
Stream.of("a", "b", "c").collect(Collectors.joining());
String.join("", "a", "b", "c");
- "a", "b", "c" -> "a,b,c"
Stream.of("a", "b", "c").collect(Collectors.joining(","));
String.join(",", List.of("a", "b", "c"));
- "a", "b", "c" -> "prefix-a,b,c-suffix"
Stream.of("a", "b", "c").collect(Collectors.joining(",", "prefix-", "-suffix"));
- If you don't need to - don't use streams -
String.join
is faster. - If you want to customize joining - take a look at
StringJoiner
- please refer my other github project StringJoiner. Collectors.joining
andString.join
is internally implemented usingStringJoiner
/StringBuilder
.