@Test public void testJoinOnObject() { final Object[][] testParameters = new Object[][] {{new String[] {"Hello", "World"}, "-", "Hello-World"}, {new String[] {"A", "B", "C"}, ".", "A.B.C"}}; for (final Object[] testParameter : testParameters) { String expected = (String) testParameter[2]; String[] values = (String[]) testParameter[0]; String token = (String) testParameter[1]; assertEquals(expected, StringUtils.join(values, token)); } }
public static String join(final Iterable<?> values, final String token) { boolean init = false; final StringBuilder buffer = new StringBuilder(); for (final Object value : values) { if (init) { buffer.append(token); } init = true; buffer.append(value); } return buffer.toString(); }
StringUtils { public static String join(final Iterable<?> values, final String token) { boolean init = false; final StringBuilder buffer = new StringBuilder(); for (final Object value : values) { if (init) { buffer.append(token); } init = true; buffer.append(value); } return buffer.toString(); } }
StringUtils { public static String join(final Iterable<?> values, final String token) { boolean init = false; final StringBuilder buffer = new StringBuilder(); for (final Object value : values) { if (init) { buffer.append(token); } init = true; buffer.append(value); } return buffer.toString(); }  }
StringUtils { public static String join(final Iterable<?> values, final String token) { boolean init = false; final StringBuilder buffer = new StringBuilder(); for (final Object value : values) { if (init) { buffer.append(token); } init = true; buffer.append(value); } return buffer.toString(); }  static boolean isEmpty(final CharSequence str); static int length(final CharSequence str); static boolean hasLength(final CharSequence str); static boolean hasText(final CharSequence str); static String nvl(final String... strs); static List<String> split(final String string, final String delimiter); static String split(final String string, final String delimiter, final int index); static String ltrim(final String str); static String rtrim(final String str); static String trim(final String str); static String join(final Iterable<?> values, final String token); static String join(final Object[] values, final String token); static String multiply(final String word, final int repeat); static void multiply(final StringBuilder buffer, final String word, final int repeat); static String repeat(final String word, final int repeat); static String uncapitalize(final String str); static int countMatches(final String str, final char ch); static String removePrefix(final String str, String prefix); static String removeSuffix(final String str, String suffix); }
StringUtils { public static String join(final Iterable<?> values, final String token) { boolean init = false; final StringBuilder buffer = new StringBuilder(); for (final Object value : values) { if (init) { buffer.append(token); } init = true; buffer.append(value); } return buffer.toString(); }  static boolean isEmpty(final CharSequence str); static int length(final CharSequence str); static boolean hasLength(final CharSequence str); static boolean hasText(final CharSequence str); static String nvl(final String... strs); static List<String> split(final String string, final String delimiter); static String split(final String string, final String delimiter, final int index); static String ltrim(final String str); static String rtrim(final String str); static String trim(final String str); static String join(final Iterable<?> values, final String token); static String join(final Object[] values, final String token); static String multiply(final String word, final int repeat); static void multiply(final StringBuilder buffer, final String word, final int repeat); static String repeat(final String word, final int repeat); static String uncapitalize(final String str); static int countMatches(final String str, final char ch); static String removePrefix(final String str, String prefix); static String removeSuffix(final String str, String suffix); static final String NULL_STRING; static final String EMPTY_STRING; }