docs: public static String join(Object array, CharSequence conjunction) {
  		if (isArray(array)) {
  			final Class<?> componentType = array.getClass().getComponentType();
  			if (componentType.isPrimitive()) {
  				final String componentTypeName = componentType.getName();
  				switch (componentTypeName) {
  				case "long":
  					return join((long[]) array, conjunction);
  				case "int":
  					return join((int[]) array, conjunction);
  				case "short":
  					return join((short[]) array, conjunction);
  				case "char":
  					return join((char[]) array, conjunction);
  				case "byte":
  					return join((byte[]) array, conjunction);
  				case "boolean":
  					return join((boolean[]) array, conjunction);
  				case "float":
  					return join((float[]) array, conjunction);
  				case "double":
  					return join((double[]) array, conjunction);
  				default:
  					throw new UtilException("Unknown primitive type: [{}]", componentTypeName);
  				}
  			} else {
  				return join((Object[]) array, conjunction);
  			}
  		}
  		throw new UtilException(StrUtil.format("[{}] is not a Array!", array.getClass()));
  	}