@NotNull
@Contract(pure = true)
public static String join(@NotNull Collection<? extends String> strings, @NotNull String separator) {
+ int size = strings.size();
+ if (size == 0) {
+ return "";
+ }
+ if (size == 1) {
+ return String.valueOf(strings.iterator().next());
+ }
StringBuilder result = new StringBuilder();
join(strings, separator, result);
return result.toString();
}
public void testJoin() {
+ assertEquals("", StringUtil.join(Collections.emptyList(), ","));
+ assertEquals("qqq", StringUtil.join(Collections.singletonList("qqq"), ","));
+ assertEquals("null", StringUtil.join(Collections.singletonList(null), ","));
assertEquals("foo,,bar", StringUtil.join(Arrays.asList("foo", "", "bar"), ","));
assertEquals("foo,,bar", StringUtil.join(new String[]{"foo", "", "bar"}, ","));
}