Strings { public static String concatWithString(String str, Collection<?> collection) { if (collection == null) return null; if (collection.isEmpty()) return EMPTY_STRING; int i = 0; StringBuilder sb = new StringBuilder(); for (Object o : collection) { sb.append(o.toString()); if (i < collection.size() - 1) { sb.append(str); } i++; } return sb.toString(); } private  Strings(); static boolean isNullOrEmpty(String str); static boolean hasText(String s); static boolean allHasText(String... strings); static boolean allNullOrEmpty(String... strings); static String leftTrim(String s); static String rightTrim(String str); static boolean containsNone(String str, String invalidCharsStr); static boolean containsOnly(String str, String allowedChars); static String repeat(char c, int count); static String repeat(String str, int count); static String reverse(String str); static String insertFromLeft(String str, int interval, String stringToInsert); static String insertFromRight(String str, int interval, String stringToInsert); static String rightPad(String str, int size); static String rightPad(String str, int size, char padChar); static String rightPad(String str, int size, String padStr); static String leftPad(String str, int size); static String leftPad(String str, int size, char padChar); static String subStringUntilFirst(String str, String s); static String subStringUntilLast(String str, String s); static String subStringAfterFirst(String str, String s); static String subStringAfterLast(String str, String s); static String leftPad(String str, int size, String padStr); static String whiteSpacesToSingleSpace(String str); static String eliminateWhiteSpaces(String str); static String concatWithString(String str, Collection<?> collection); static String concatWithString(String str, Object... objects); static String[] separateGrams(String word, int gramSize); static final String EMPTY_STRING; static final String[] EMPTY_STRING_ARRAY; }
@Test public void testConcatWithStrings() { assertEquals(concatWithString(" ", new String[]{"hello", "world"}), "hello world"); assertEquals(concatWithString(" ", new String[]{"hello", "world"}), "hello world"); assertEquals(concatWithString(" ", new String[]{"", "world"}), " world"); assertEquals(concatWithString("-", new String[]{"hello", "world", "!"}), "hello-world-!"); assertEquals(concatWithString("-", new String[]{}), ""); assertEquals(concatWithString("-", new String[]{"hello"}), "hello"); }