code: public static <T> T subArray(final T array, final int start, final int end) {
  
      if (isEmpty(array) || start < 0 || start > end || end >= Array.getLength(array)) {
        return array;
      }
      int newArraySize = end - start + 1;
      @SuppressWarnings("unchecked")
      T newArray = (T) buildArray(ClassUtils.getPrimitiveClass(ClassUtils.getComponentClass(array)),
        newArraySize, null);
      System.arraycopy(array, start, newArray, 0, newArraySize);
      return newArray;
    }
docs: 裁剪数组。
  
  @param array 源数组。
  @param start 裁剪的起始位置的索引。
  @param end 裁剪的结束位置的索引。
  @return
  一个新的数组，包含从指定索引开始到指定索引结束的所有元素。如果数组为空或起始索引小于0，或起始索引大于结束索引，或结束大于数组本身索引长度
  ，则返回数组本身。