### Question:
StringUtil { public static String join(byte[] items, String delimiter) { StringBuilder sb = new StringBuilder(); for (byte b : items) { if (sb.length() > 0) sb.append(delimiter); sb.append(b & 0xff); } return sb.toString(); }  static boolean isEmpty(String str); static String getLeft(String src, int length); static String getRight(String src, int length); static boolean isDigitOnly(String chkStr); static String SQLEscape(String str); static String fillString(String str, int length, char fillChar, boolean fillLeft); static String cEscape(String str); static String cEscape(String str, char quoteChar); static String cEscape(String str, char quoteChar, boolean isWchar); static String lowerFirst(String str); static String upperFirst(String str); static boolean isJavaIdentifier(String str); static int[] splitAsIntArray(String str, String delimiter); static String join(byte[] items, String delimiter); static String join(String[] items, String delimiter); static String join(List<String> items, String delimiter); static StringBuilder appendRepeatedly(StringBuilder result, String str, int times); static StringBuilder appendRepeatedly(StringBuilder result, char c, int times); static String toTrimmedStr(Object o, int len);  }### Answer:
@Test public void testJoin() { assertEquals("1,2,3", StringUtil.join(new byte[]{1,2,3}, ",")); }