@Test public void joinNadaReturnsEmpty() { assertThat(join(';', (Object[]) null)).isEmpty(); assertThat(join(';', new Object[]{})).isEmpty(); }
public static String join(char delim, Object... parts) { if (parts == null || parts.length == 0) { return ""; } StringBuilder to = new StringBuilder(); for (int i = 0; i < parts.length; i++) { to.append(parts[i]); if (i + 1 < parts.length) { to.append(delim); } } return to.toString(); }
Util { public static String join(char delim, Object... parts) { if (parts == null || parts.length == 0) { return ""; } StringBuilder to = new StringBuilder(); for (int i = 0; i < parts.length; i++) { to.append(parts[i]); if (i + 1 < parts.length) { to.append(delim); } } return to.toString(); } }
Util { public static String join(char delim, Object... parts) { if (parts == null || parts.length == 0) { return ""; } StringBuilder to = new StringBuilder(); for (int i = 0; i < parts.length; i++) { to.append(parts[i]); if (i + 1 < parts.length) { to.append(delim); } } return to.toString(); } private  Util(); }
Util { public static String join(char delim, Object... parts) { if (parts == null || parts.length == 0) { return ""; } StringBuilder to = new StringBuilder(); for (int i = 0; i < parts.length; i++) { to.append(parts[i]); if (i + 1 < parts.length) { to.append(delim); } } return to.toString(); } private  Util(); static boolean equal(Object a, Object b); static String slurp(Reader reader); static String join(char delim, Object... parts); static List<String> split(char delim, String toSplit); static T nextOrNull(Iterator<T> it); static Iterator<T> singletonIterator(final T nullableValue); static PeekingIterator<T> peekingIterator(final Iterator<T> iterator); static Iterator<T> concat(final Iterator<T> first, final Iterator<T> second); static Iterator<T> concat(final Iterable<? extends Iterable<? extends T>> i); static Iterator<T> filter(final Iterator<T> unfiltered,
                                       final Filter<? super T> filter); static Filter<T> and(final Filter<T> first, final Filter<? super T> second); static String flatten(Map<String, Object> input); static Map<String, Object> toMap(String type, String rdata); static Map<String, Object> toMap(String type, List<String> parts); }
Util { public static String join(char delim, Object... parts) { if (parts == null || parts.length == 0) { return ""; } StringBuilder to = new StringBuilder(); for (int i = 0; i < parts.length; i++) { to.append(parts[i]); if (i + 1 < parts.length) { to.append(delim); } } return to.toString(); } private  Util(); static boolean equal(Object a, Object b); static String slurp(Reader reader); static String join(char delim, Object... parts); static List<String> split(char delim, String toSplit); static T nextOrNull(Iterator<T> it); static Iterator<T> singletonIterator(final T nullableValue); static PeekingIterator<T> peekingIterator(final Iterator<T> iterator); static Iterator<T> concat(final Iterator<T> first, final Iterator<T> second); static Iterator<T> concat(final Iterable<? extends Iterable<? extends T>> i); static Iterator<T> filter(final Iterator<T> unfiltered,
                                       final Filter<? super T> filter); static Filter<T> and(final Filter<T> first, final Filter<? super T> second); static String flatten(Map<String, Object> input); static Map<String, Object> toMap(String type, String rdata); static Map<String, Object> toMap(String type, List<String> parts);  }