This commit is contained in:
Looly 2023-03-29 19:30:12 +08:00
parent 6c57694599
commit 59d264048f
134 changed files with 683 additions and 149 deletions

View File

@ -13,7 +13,7 @@
package cn.hutool.core.annotation;
import cn.hutool.core.map.WeakConcurrentMap;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.ObjUtil;
import java.lang.annotation.Annotation;

View File

@ -23,7 +23,7 @@ import cn.hutool.core.reflect.FieldUtil;
import cn.hutool.core.reflect.MethodUtil;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.ObjUtil;
import java.lang.annotation.Annotation;

View File

@ -16,7 +16,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.reflect.ClassUtil;
import cn.hutool.core.reflect.MethodUtil;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.lang.annotation.Annotation;
import java.lang.reflect.AnnotatedElement;

View File

@ -14,7 +14,7 @@ package cn.hutool.core.annotation;
import cn.hutool.core.stream.EasyStream;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.ObjUtil;
import java.lang.annotation.Annotation;

View File

@ -17,7 +17,7 @@ import cn.hutool.core.map.MapUtil;
import cn.hutool.core.map.WeakConcurrentMap;
import cn.hutool.core.reflect.MethodUtil;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.lang.annotation.Annotation;
import java.lang.annotation.Repeatable;

View File

@ -14,7 +14,7 @@ package cn.hutool.core.annotation;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.lang.annotation.Annotation;
import java.lang.reflect.AnnotatedElement;

View File

@ -18,7 +18,7 @@ import cn.hutool.core.map.multi.Graph;
import cn.hutool.core.reflect.ClassUtil;
import cn.hutool.core.reflect.MethodUtil;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;

View File

@ -10,7 +10,7 @@
* See the Mulan PSL v2 for more details.
*/
package cn.hutool.core.util;
package cn.hutool.core.array;
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.collection.SetUtil;
@ -23,6 +23,8 @@ import cn.hutool.core.lang.Assert;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.text.StrJoiner;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.RandomUtil;
import java.lang.reflect.Array;
import java.nio.ByteBuffer;

View File

@ -0,0 +1,507 @@
package cn.hutool.core.array;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.lang.func.Wrapper;
import cn.hutool.core.util.ObjUtil;
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.function.Predicate;
import java.util.function.UnaryOperator;
/**
* 数组包装提供一系列数组方法
*
* @param <A> 数组类型
* @author looly
* @since 6.0.0
*/
public class ArrayWrapper<A> implements Wrapper<A> {
private final Class<?> componentType;
private A array;
private int length;
/**
* 创建ArrayWrapper
*
* @param componentType 元素类型
* @param length 长度
* @param <A> 数组类型
* @return ArrayWrapper
*/
@SuppressWarnings("unchecked")
public static <A> ArrayWrapper<A> of(final Class<?> componentType, final int length) {
return (ArrayWrapper<A>) of(Array.newInstance(componentType, length));
}
/**
* 包装数组为ArrayWrapper
*
* @param array 数组
* @param <A> 数组类型
* @return ArrayWrapper
*/
public static <A> ArrayWrapper<A> of(final A array) {
return new ArrayWrapper<>(array);
}
/**
* 构造
*
* @param array 数组对象
*/
public ArrayWrapper(final A array) {
Assert.notNull(array);
if (ArrayUtil.isArray(array)) {
throw new IllegalArgumentException("Object is not a array!");
}
this.componentType = array.getClass().getComponentType();
setNewArray(array);
}
@Override
public A getRaw() {
return this.array;
}
/**
* 获取数组长度
*
* @return 数组长度
*/
public int length() {
return length;
}
/**
* 是否原始类型数组
*
* @return 是否原始类型数组
*/
public boolean isPrimitive() {
return this.componentType.isPrimitive();
}
/**
* 获取数组对象的元素类型方法调用参数与返回结果举例
* <ul>
* <li>Object[] = Object.class</li>
* <li>String[] = String.class</li>
* <li>int[] = int.class</li>
* <li>Integer[] = Integer.class</li>
* <li>null = null</li>
* <li>String = null</li>
* </ul>
*
* @return 元素类型
*/
public Class<?> getComponentType() {
return this.componentType;
}
/**
* 获得数组类型
*
* @return 数组类型
*/
public Class<?> getArrayType() {
return array.getClass();
}
/**
* 数组是否为空
*
* @return 是否为空
*/
public boolean isEmpty() {
return 0 == length;
}
/**
* 获取数组对象中指定index的值支持负数例如-1表示倒数第一个值<br>
* 如果数组下标越界返回null
*
* @param <E> 数组元素类型
* @param index 下标支持负数-1表示最后一个元素
* @return
*/
@SuppressWarnings("unchecked")
public <E> E get(int index) {
final int length = this.length;
if (index < 0) {
index += length;
}
if (index < 0 || index >= length) {
return null;
}
return (E) Array.get(array, index);
}
// region ----- index
/**
* 返回数组中第一个非空元素
*
* @param <E> 数组元素类型
* @return 第一个非空元素如果 不存在非空元素 数组为空返回{@code null}
*/
public <E> E firstNonNull() {
return firstMatch(ObjUtil::isNotNull);
}
/**
* 返回数组中第一个匹配规则的值
*
* @param <E> 元素类型
* @param matcher 匹配接口实现此接口自定义匹配规则
* @return 第一个匹配元素如果 不存在匹配元素 数组为空返回 {@code null}
*/
public <E> E firstMatch(final Predicate<?> matcher) {
final int index = matchIndex(matcher);
if (index == ArrayUtil.INDEX_NOT_FOUND) {
return null;
}
return get(index);
}
/**
* 返回数组中指定元素所在位置未找到返回{@link ArrayUtil#INDEX_NOT_FOUND}
*
* @param value 被检查的元素
* @return 数组中指定元素所在位置未找到返回{@link ArrayUtil#INDEX_NOT_FOUND}
*/
public int indexOf(final Object value) {
return matchIndex((obj) -> ObjUtil.equals(value, obj));
}
/**
* 返回数组中第一个匹配规则的值的位置
*
* @param matcher 匹配接口实现此接口自定义匹配规则
* @return 第一个匹配元素的位置{@link ArrayUtil#INDEX_NOT_FOUND}表示未匹配到
*/
public int matchIndex(final Predicate<?> matcher) {
return matchIndex(0, matcher);
}
/**
* 返回数组中指定元素所在位置未找到返回{@link ArrayUtil#INDEX_NOT_FOUND}
*
* @param value 被检查的元素
* @param offset 开始的位置
* @return 数组中指定元素所在位置未找到返回{@link ArrayUtil#INDEX_NOT_FOUND}
*/
public int indexOf(final Object value, final int offset) {
return matchIndex(offset, (obj) -> ObjUtil.equals(value, obj));
}
/**
* 返回数组中第一个匹配规则的值的位置
*
* @param matcher 匹配接口实现此接口自定义匹配规则
* @param offset 检索开始的位置不能为负数
* @return 第一个匹配元素的位置{@link ArrayUtil#INDEX_NOT_FOUND}表示未匹配到
*/
public int matchIndex(final int offset, final Predicate<?> matcher) {
if (null == matcher && offset < this.length) {
return offset;
}
for (int i = offset; i < length; i++) {
if (matcher.test(get(i))) {
return i;
}
}
return ArrayUtil.INDEX_NOT_FOUND;
}
// endregion
// region ----- last index
/**
* 返回数组中指定最后的所在位置未找到返回{@link ArrayUtil#INDEX_NOT_FOUND}
*
* @param value 被检查的元素
* @return 数组中指定元素最后的所在位置未找到返回{@link ArrayUtil#INDEX_NOT_FOUND}
*/
public int lastIndexOf(final Object value) {
return matchLastIndex((obj) -> ObjUtil.equals(value, obj));
}
/**
* 返回数组中最后一个匹配规则的值的位置(从后向前查找)
*
* @param matcher 匹配接口实现此接口自定义匹配规则
* @return 最后一个匹配元素的位置{@link ArrayUtil#INDEX_NOT_FOUND}表示未匹配到
*/
public int matchLastIndex(final Predicate<?> matcher) {
return matchLastIndex(length - 1, matcher);
}
/**
* 返回数组中最后一个匹配规则的值的位置(从后向前查找)
*
* @param matcher 匹配接口实现此接口自定义匹配规则
* @param offset 从后向前查找时的起始位置一般为{@code array.length - 1}
* @return 最后一个匹配元素的位置{@link ArrayUtil#INDEX_NOT_FOUND}表示未匹配到
*/
public int matchLastIndex(final int offset, final Predicate<?> matcher) {
if (null == matcher && offset >= 0) {
return offset;
}
for (int i = Math.min(offset, length - 1); i >= 0; i--) {
if (matcher.test(get(i))) {
return i;
}
}
return ArrayUtil.INDEX_NOT_FOUND;
}
// endregion
/**
* 将元素值设置为数组的某个位置当给定的index大于等于数组长度则追加
*
* @param index 位置大于等于长度则追加否则替换
* @param value 新元素或新数组
* @return this
*/
public ArrayWrapper<A> setOrAppend(final int index, final Object value) {
if (index < this.length) {
Array.set(array, index, value);
} else {
append(value);
}
return this;
}
/**
* 将新元素添加到已有数组中<br>
* 添加新元素会生成一个新的数组不影响原数组
*
* @param newElements 新元素或新数组
* @return 新数组
*/
public ArrayWrapper<A> append(final Object newElements) {
return insert(this.length, newElements);
}
/**
* 将新元素插入到已有数组中的某个位置
* 如果插入位置为负数从原数组从后向前计数若大于原数组长度则空白处用默认值填充<br>
*
* @param index 插入位置支持负数此位置为对应此位置元素之前的空档
* @param arrayToAppend 新元素
* @return 新数组
*/
@SuppressWarnings({"unchecked", "SuspiciousSystemArraycopy"})
public ArrayWrapper<A> insert(int index, Object arrayToAppend) {
if (false == ArrayUtil.isArray(arrayToAppend)) {
// 用户传入单个元素则创建单元素数组
if (arrayToAppend.getClass() == this.componentType) {
arrayToAppend = createSingleElementArray(arrayToAppend);
}
}
final int appendLength = ArrayUtil.length(arrayToAppend);
if (0 == appendLength) {
return this;
}
if (isEmpty()) {
setNewArray((A) Convert.convert(array.getClass(), arrayToAppend));
}
final int len = this.length;
if (index < 0) {
index = (index % len) + len;
}
// 已有数组的元素类型
// 如果 已有数组的元素类型是 原始类型则需要转换 新元素数组 为该类型避免ArrayStoreException
if (this.componentType.isPrimitive()) {
arrayToAppend = Convert.convert(array.getClass(), arrayToAppend);
}
final A result = (A) Array.newInstance(this.componentType, Math.max(len, index) + appendLength);
// 原数组到index位置
System.arraycopy(array, 0, result, 0, Math.min(len, index));
// 新增的数组追加
System.arraycopy(arrayToAppend, 0, result, index, appendLength);
if (index < len) {
// 原数组剩余部分
System.arraycopy(array, index, result, index + appendLength, len - index);
}
setNewArray(result);
return this;
}
/**
* 从数组中的指定位置开始按顺序使用新元素替换旧元素<br>
* <ul>
* <li>如果 指定位置 为负数那么生成一个新数组其中新元素按顺序放在数组头部</li>
* <li>如果 指定位置 大于等于 旧数组长度那么生成一个新数组其中新元素按顺序放在数组尾部</li>
* <li>如果 指定位置 加上 新元素数量 大于 旧数组长度那么生成一个新数组指定位置之前是旧数组元素指定位置及之后为新元素</li>
* <li>否则从已有数组中的指定位置开始按顺序使用新元素替换旧元素返回旧数组</li>
* </ul>
*
* @param index 位置
* @param values 新值
* @return this
*/
@SuppressWarnings({"unchecked", "SuspiciousSystemArraycopy"})
public ArrayWrapper<A> replace(final int index, Object values) {
if (false == ArrayUtil.isArray(values)) {
// 用户传入单个元素则创建单元素数组
if (values.getClass() == this.componentType) {
values = createSingleElementArray(values);
}
}
final int valuesLength = ArrayUtil.length(values);
if (0 == valuesLength) {
return this;
}
if (isEmpty()) {
setNewArray((A) Convert.convert(array.getClass(), values));
}
if (index < 0) {
// 从头部追加
return insert(0, values);
}
if (index >= length) {
// 超出长度尾部追加
return append(values);
}
// 在原数组范围内
if (length >= valuesLength + index) {
System.arraycopy(values, 0, this.array, index, valuesLength);
return this;
}
// 超出范围替换长度大于原数组长度新建数组
final A result = (A) Array.newInstance(this.componentType, index + valuesLength);
System.arraycopy(this.array, 0, result, 0, index);
System.arraycopy(values, 0, result, index, valuesLength);
setNewArray(result);
return this;
}
/**
* 对每个数组元素执行指定操作替换元素为修改后的元素
*
* @param editor 编辑器接口 {@code null}则返回原数组
* @return this
*/
public ArrayWrapper<A> edit(final UnaryOperator<?> editor) {
if (null == array || null == editor) {
return this;
}
for (int i = 0; i < length; i++) {
setOrAppend(i, editor.apply(get(i)));
}
return this;
}
/**
* 获取子数组
*
* @param begin 开始位置包括
* @param end 结束位置不包括
* @return 新的数组
* @see Arrays#copyOfRange(Object[], int, int)
* @since 4.2.2
*/
@SuppressWarnings({"unchecked", "SuspiciousSystemArraycopy"})
public A getSub(int begin, int end) {
final int length = this.length;
if (begin < 0) {
begin += length;
}
if (end < 0) {
end += length;
}
if (begin > end) {
final int tmp = begin;
begin = end;
end = tmp;
}
if (begin >= length) {
return (A) Array.newInstance(this.componentType, 0);
}
if (end > length) {
end = length;
}
final A result = (A) Array.newInstance(this.componentType, end - begin);
System.arraycopy(this.array, begin, result, 0, end - begin);
return result;
}
@Override
public String toString() {
final A array = this.array;
if (null == array) {
return null;
}
if (array instanceof long[]) {
return Arrays.toString((long[]) array);
} else if (array instanceof int[]) {
return Arrays.toString((int[]) array);
} else if (array instanceof short[]) {
return Arrays.toString((short[]) array);
} else if (array instanceof char[]) {
return Arrays.toString((char[]) array);
} else if (array instanceof byte[]) {
return Arrays.toString((byte[]) array);
} else if (array instanceof boolean[]) {
return Arrays.toString((boolean[]) array);
} else if (array instanceof float[]) {
return Arrays.toString((float[]) array);
} else if (array instanceof double[]) {
return Arrays.toString((double[]) array);
} else if (ArrayUtil.isArray(array)) {
// 对象数组
try {
return Arrays.deepToString((Object[]) array);
} catch (final Exception ignore) {
//ignore
}
}
return array.toString();
}
// region ----- private methods
/**
* 设置新数组并更新长度
*
* @param newArray 数组
*/
private void setNewArray(final A newArray) {
this.array = newArray;
this.length = Array.getLength(newArray);
}
/**
* 创建单一元素数组
*
* @param value 元素值
* @return 数组
*/
private Object createSingleElementArray(final Object value) {
// 插入单个元素
final Object newInstance = Array.newInstance(this.componentType, 1);
Array.set(newInstance, 1, value);
return newInstance;
}
// endregion
}

View File

@ -10,9 +10,11 @@
* See the Mulan PSL v2 for more details.
*/
package cn.hutool.core.util;
package cn.hutool.core.array;
import cn.hutool.core.math.NumberUtil;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.RandomUtil;
import java.lang.reflect.Array;
import java.util.Arrays;
@ -3195,12 +3197,7 @@ public class PrimitiveArrayUtil {
return false;
}
for (int i = 0; i < prefix.length; i++) {
if (array[i] != prefix[i]) {
return false;
}
}
return true;
return isSubEquals(array, 0, prefix);
}
/**
@ -3395,46 +3392,52 @@ public class PrimitiveArrayUtil {
/**
* 是否局部匹配相当于对比以下子串是否相等
* <pre>
* byte1[offset1, byte2.length]
* array1[offset1, subArray.length]
* ||
* byte2
* subArray
* </pre>
*
* @param bytes1 第一个数组
* @param offset 开始位置
* @param bytes2 第二个数组
* @param array 数组
* @param offset 开始位置
* @param subArray 数组
* @return 是否局部匹配
*/
public static boolean isSubEquals(final byte[] bytes1, final int offset, final byte[] bytes2) {
return regionMatches(bytes1, offset, bytes2, 0, bytes2.length);
public static boolean isSubEquals(final byte[] array, final int offset, final byte[] subArray) {
if (array == subArray) {
return true;
}
if (array.length < subArray.length) {
return false;
}
return regionMatches(array, offset, subArray, 0, subArray.length);
}
/**
* 是否局部匹配相当于对比以下子串是否相等
* <pre>
* byte1[offset1, offset1 + length]
* array1[offset1 : offset1 + length]
* ||
* byte2[offset2, offset2 + length]
* array2[offset2 : offset2 + length]
* </pre>
*
* @param bytes1 第一个数组
* @param array1 第一个数组
* @param offset1 第一个数组开始位置
* @param bytes2 第二个数组
* @param array2 第二个数组
* @param offset2 第二个数组开始位置
* @param length 检查长度
* @return 是否局部匹配
*/
public static boolean regionMatches(final byte[] bytes1, final int offset1,
final byte[] bytes2, final int offset2, final int length) {
if(bytes1.length < offset1 + length){
public static boolean regionMatches(final byte[] array1, final int offset1,
final byte[] array2, final int offset2, final int length) {
if (array1.length < offset1 + length) {
throw new IndexOutOfBoundsException("[byte1] length must be >= [offset1 + length]");
}
if(bytes2.length < offset2 + length){
if (array2.length < offset2 + length) {
throw new IndexOutOfBoundsException("[byte2] length must be >= [offset2 + length]");
}
for (int i = 0; i < length; i++) {
if (bytes1[i + offset1] != bytes2[i + offset2]) {
if (array1[i + offset1] != array2[i + offset2]) {
return false;
}
}

View File

@ -0,0 +1,18 @@
/*
* Copyright (c) 2023 looly(loolly@aliyun.com)
* Hutool is licensed under Mulan PSL v2.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
* http://license.coscl.org.cn/MulanPSL2
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PSL v2 for more details.
*/
/**
* 提供数组相关封装
*
* @author looly
*/
package cn.hutool.core.array;

View File

@ -19,7 +19,7 @@ import cn.hutool.core.map.MapUtil;
import cn.hutool.core.math.NumberUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.text.split.SplitUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.CharUtil;
import java.io.Serializable;

View File

@ -27,7 +27,7 @@ import cn.hutool.core.reflect.ConstructorUtil;
import cn.hutool.core.reflect.FieldUtil;
import cn.hutool.core.reflect.ModifierUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.ObjUtil;
import java.beans.BeanInfo;

View File

@ -17,7 +17,7 @@ import cn.hutool.core.convert.Converter;
import cn.hutool.core.lang.func.LambdaUtil;
import cn.hutool.core.lang.func.SerFunction;
import cn.hutool.core.lang.mutable.MutableEntry;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.io.Serializable;
import java.lang.reflect.Field;

View File

@ -16,7 +16,7 @@ import cn.hutool.core.codec.binary.Base16Codec;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.text.CharPool;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.CharUtil;
import java.io.ByteArrayOutputStream;

View File

@ -14,7 +14,7 @@ package cn.hutool.core.codec.binary;
import cn.hutool.core.codec.Decoder;
import cn.hutool.core.codec.Encoder;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.io.ByteArrayOutputStream;
import java.io.Serializable;

View File

@ -14,7 +14,7 @@ package cn.hutool.core.codec.binary;
import cn.hutool.core.codec.Decoder;
import cn.hutool.core.lang.mutable.MutableInt;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
/**
* Base64解码实现<br>

View File

@ -32,7 +32,7 @@ import cn.hutool.core.reflect.TypeUtil;
import cn.hutool.core.stream.StreamUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.text.split.SplitUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.ObjUtil;
import java.lang.reflect.Type;

View File

@ -12,7 +12,7 @@
package cn.hutool.core.collection;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.util.ArrayList;
import java.util.Collection;

View File

@ -21,7 +21,7 @@ import cn.hutool.core.comparator.PinyinComparator;
import cn.hutool.core.comparator.PropertyComparator;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.lang.page.PageInfo;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.ObjUtil;
import java.util.*;

View File

@ -12,7 +12,7 @@
package cn.hutool.core.collection;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.util.Collection;
import java.util.Collections;

View File

@ -13,7 +13,7 @@
package cn.hutool.core.collection.iter;
import cn.hutool.core.lang.Chain;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.util.*;

View File

@ -18,7 +18,7 @@ import cn.hutool.core.map.MapUtil;
import cn.hutool.core.reflect.FieldUtil;
import cn.hutool.core.reflect.MethodUtil;
import cn.hutool.core.text.StrJoiner;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.ObjUtil;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

View File

@ -12,7 +12,7 @@
package cn.hutool.core.comparator;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.util.Comparator;
import java.util.Objects;

View File

@ -13,7 +13,7 @@
package cn.hutool.core.comparator;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.util.Comparator;

View File

@ -16,7 +16,7 @@ import cn.hutool.core.io.file.FileUtil;
import cn.hutool.core.io.IORuntimeException;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.io.resource.Resource;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.text.StrUtil;
import java.io.Closeable;

View File

@ -14,7 +14,7 @@ package cn.hutool.core.convert;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.reflect.TypeUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.CharUtil;
import java.io.Serializable;

View File

@ -15,7 +15,7 @@ package cn.hutool.core.convert;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.math.NumberUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.math.BigDecimal;
import java.math.RoundingMode;

View File

@ -19,7 +19,7 @@ import cn.hutool.core.convert.Convert;
import cn.hutool.core.io.SerializeUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.text.split.SplitUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.ByteUtil;
import java.io.Serializable;

View File

@ -12,7 +12,7 @@
package cn.hutool.core.date;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.util.Calendar;

View File

@ -13,7 +13,7 @@
package cn.hutool.core.date;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.time.format.TextStyle;
import java.util.Calendar;

View File

@ -13,7 +13,7 @@
package cn.hutool.core.date;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.time.DayOfWeek;
import java.util.Calendar;

View File

@ -16,7 +16,7 @@ import cn.hutool.core.io.stream.FastByteArrayOutputStream;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.reflect.ConstructorUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.CharUtil;
import java.io.PrintStream;

View File

@ -1,7 +1,7 @@
package cn.hutool.core.io;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.CharsetUtil;
import java.io.Serializable;

View File

@ -14,7 +14,7 @@ package cn.hutool.core.io;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.io.file.FileUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.io.File;
import java.io.IOException;

View File

@ -12,7 +12,7 @@
package cn.hutool.core.io.file;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.CharsetUtil;
import java.math.BigInteger;

View File

@ -12,6 +12,7 @@
package cn.hutool.core.io.file;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.compress.ZipUtil;
import cn.hutool.core.io.BomReader;
import cn.hutool.core.io.IORuntimeException;

View File

@ -12,11 +12,8 @@
package cn.hutool.core.io.stream;
import cn.hutool.core.codec.HexUtil;
import cn.hutool.core.io.ByteOrderMark;
import cn.hutool.core.io.IORuntimeException;
import cn.hutool.core.lang.Console;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.CharsetUtil;
import java.io.IOException;

View File

@ -14,7 +14,7 @@ package cn.hutool.core.io.watch;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.lang.func.SerBiConsumer;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.io.Closeable;
import java.io.IOException;

View File

@ -15,7 +15,7 @@ package cn.hutool.core.lang;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.ObjUtil;
import java.util.Map;

View File

@ -12,7 +12,7 @@
package cn.hutool.core.lang;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.CharUtil;
import cn.hutool.core.text.StrUtil;

View File

@ -17,7 +17,7 @@ import cn.hutool.core.lang.func.SerSupplier;
import cn.hutool.core.map.SafeConcurrentHashMap;
import cn.hutool.core.reflect.ConstructorUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.util.Set;
import java.util.stream.Collectors;

View File

@ -15,7 +15,7 @@ package cn.hutool.core.lang;
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.collection.iter.ArrayIter;
import cn.hutool.core.exceptions.CloneRuntimeException;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.io.Serializable;
import java.util.Arrays;

View File

@ -14,7 +14,7 @@ package cn.hutool.core.lang.caller;
import java.io.Serializable;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
/**
* {@link SecurityManager} 方式获取调用者

View File

@ -14,7 +14,7 @@ package cn.hutool.core.map;
import cn.hutool.core.text.StrJoiner;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.util.Iterator;
import java.util.Map;

View File

@ -16,7 +16,7 @@ import cn.hutool.core.classloader.ClassLoaderUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.getter.TypeGetter;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.BooleanUtil;
import java.io.Serializable;

View File

@ -19,7 +19,7 @@ import cn.hutool.core.collection.iter.IterUtil;
import cn.hutool.core.exceptions.UtilException;
import cn.hutool.core.reflect.ConstructorUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.ObjUtil;
import java.util.AbstractMap;

View File

@ -13,7 +13,7 @@
package cn.hutool.core.map.multi;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.util.*;
import java.util.function.*;

View File

@ -12,7 +12,7 @@
package cn.hutool.core.math;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.io.Serializable;
import java.util.ArrayList;

View File

@ -15,7 +15,7 @@ package cn.hutool.core.math;
import cn.hutool.core.comparator.CompareUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.CharUtil;
import java.math.BigDecimal;

View File

@ -14,7 +14,7 @@ package cn.hutool.core.net.ssl;
import cn.hutool.core.lang.builder.Builder;
import cn.hutool.core.io.IORuntimeException;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.text.StrUtil;
import javax.net.ssl.KeyManager;

View File

@ -22,7 +22,7 @@ import cn.hutool.core.net.url.URLDecoder;
import cn.hutool.core.net.url.URLUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.text.split.SplitUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.CharUtil;
import cn.hutool.core.util.CharsetUtil;

View File

@ -15,7 +15,7 @@ package cn.hutool.core.reflect;
import cn.hutool.core.exceptions.UtilException;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.map.WeakConcurrentMap;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.lang.reflect.Array;
import java.lang.reflect.Constructor;

View File

@ -19,7 +19,7 @@ import cn.hutool.core.lang.Assert;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.map.WeakConcurrentMap;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.lang.reflect.Field;
import java.util.HashMap;

View File

@ -23,7 +23,7 @@ import cn.hutool.core.lang.Assert;
import cn.hutool.core.lang.Singleton;
import cn.hutool.core.map.WeakConcurrentMap;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

View File

@ -13,7 +13,7 @@
package cn.hutool.core.reflect;
import cn.hutool.core.exceptions.UtilException;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.lang.reflect.Field;
import java.lang.reflect.Member;

View File

@ -13,7 +13,7 @@
package cn.hutool.core.reflect;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.io.Serializable;
import java.lang.reflect.ParameterizedType;

View File

@ -12,7 +12,7 @@
package cn.hutool.core.reflect;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.ObjUtil;
import java.lang.reflect.Field;

View File

@ -14,7 +14,7 @@ package cn.hutool.core.stream;
import cn.hutool.core.lang.Opt;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.util.*;
import java.util.function.*;

View File

@ -15,7 +15,7 @@ package cn.hutool.core.stream;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.Opt;
import cn.hutool.core.math.NumberUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.ObjUtil;
import java.math.BigDecimal;
import java.math.RoundingMode;

View File

@ -15,7 +15,7 @@ package cn.hutool.core.stream;
import cn.hutool.core.lang.Opt;
import cn.hutool.core.lang.mutable.MutableInt;
import cn.hutool.core.lang.mutable.MutableObj;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.util.*;
import java.util.function.*;

View File

@ -19,7 +19,7 @@ import cn.hutool.core.lang.mutable.MutableInt;
import cn.hutool.core.lang.mutable.MutableObj;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.map.SafeConcurrentHashMap;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.util.*;
import java.util.concurrent.atomic.AtomicBoolean;

View File

@ -12,6 +12,7 @@
package cn.hutool.core.text;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.comparator.VersionComparator;
import cn.hutool.core.lang.Assert;

View File

@ -13,7 +13,7 @@
package cn.hutool.core.text;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.CharUtil;
import java.util.function.Predicate;

View File

@ -12,7 +12,7 @@
package cn.hutool.core.text;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.CharUtil;
import java.util.Map;

View File

@ -15,7 +15,7 @@ package cn.hutool.core.text;
import cn.hutool.core.collection.iter.ArrayIter;
import cn.hutool.core.collection.iter.IterUtil;
import cn.hutool.core.io.IORuntimeException;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.ObjUtil;
import java.io.IOException;

View File

@ -12,7 +12,7 @@
package cn.hutool.core.text;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.CharsetUtil;
import java.io.StringReader;

View File

@ -15,7 +15,7 @@ package cn.hutool.core.tree;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.CharUtil;
import cn.hutool.core.util.ObjUtil;

View File

@ -12,6 +12,7 @@
package cn.hutool.core.util;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.collection.SetUtil;
import cn.hutool.core.text.StrUtil;

View File

@ -12,6 +12,7 @@
package cn.hutool.core.util;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.iter.IterUtil;
import cn.hutool.core.convert.Convert;

View File

@ -12,6 +12,7 @@
package cn.hutool.core.util;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.date.DateField;

View File

@ -12,6 +12,7 @@
package cn.hutool.core.util;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.exceptions.UtilException;
import cn.hutool.core.io.IORuntimeException;
import cn.hutool.core.io.IoUtil;

View File

@ -1,6 +1,6 @@
package cn.hutool.core.annotation;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.ObjUtil;
import lombok.SneakyThrows;
import org.junit.Assert;

View File

@ -3,7 +3,7 @@ package cn.hutool.core.bean;
import cn.hutool.core.lang.test.bean.ExamInfoDict;
import cn.hutool.core.lang.test.bean.UserInfoDict;
import cn.hutool.core.map.Dict;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import lombok.Data;
import org.junit.Assert;
import org.junit.Before;

View File

@ -9,7 +9,7 @@ import cn.hutool.core.map.MapBuilder;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.ObjUtil;
import lombok.Data;
import lombok.Getter;

View File

@ -3,7 +3,7 @@ package cn.hutool.core.collection;
import cn.hutool.core.collection.iter.LineIter;
import cn.hutool.core.collection.iter.PartitionIter;
import cn.hutool.core.io.resource.ResourceUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import org.junit.Assert;
import org.junit.Test;

View File

@ -4,7 +4,7 @@ import cn.hutool.core.date.StopWatch;
import cn.hutool.core.lang.Console;
import cn.hutool.core.lang.test.bean.ExamInfoDict;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.SystemUtil;
import lombok.Data;
import org.junit.Assert;

View File

@ -1,5 +1,6 @@
package cn.hutool.core.util;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.collection.ListUtil;
import org.junit.Assert;
import org.junit.Test;

View File

@ -15,7 +15,7 @@ package cn.hutool.cron.pattern;
import cn.hutool.core.lang.builder.Builder;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.text.StrJoiner;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.text.StrUtil;
/**

View File

@ -16,7 +16,7 @@ import cn.hutool.core.codec.binary.Base64;
import cn.hutool.core.io.file.FileUtil;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.CharUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.text.StrUtil;

View File

@ -13,7 +13,7 @@
package cn.hutool.crypto;
import cn.hutool.core.io.IORuntimeException;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.crypto.asymmetric.SM2;
import cn.hutool.crypto.digest.HMac;
import cn.hutool.crypto.digest.HmacAlgorithm;

View File

@ -16,7 +16,7 @@ import cn.hutool.core.codec.HexUtil;
import cn.hutool.core.io.IORuntimeException;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.io.file.FileUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.ByteUtil;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.crypto.CryptoException;

View File

@ -12,7 +12,7 @@
package cn.hutool.crypto.symmetric;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.crypto.KeyUtil;
import cn.hutool.crypto.Mode;

View File

@ -13,7 +13,7 @@
package cn.hutool.crypto.symmetric;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.crypto.KeyUtil;
import cn.hutool.crypto.Mode;
import cn.hutool.crypto.Padding;

View File

@ -16,7 +16,7 @@ import cn.hutool.core.io.IORuntimeException;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.lang.Opt;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.codec.HexUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.text.StrUtil;

View File

@ -3,7 +3,7 @@ package cn.hutool.crypto.asymmetric;
import cn.hutool.core.codec.HexUtil;
import cn.hutool.core.codec.binary.Base64;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.ByteUtil;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.RandomUtil;

View File

@ -16,7 +16,7 @@ import cn.hutool.core.io.IoUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.db.dialect.Dialect;
import cn.hutool.db.dialect.DialectFactory;
import cn.hutool.db.handler.NumberHandler;

View File

@ -18,7 +18,7 @@ import cn.hutool.core.lang.func.SerSupplier;
import cn.hutool.core.map.Dict;
import cn.hutool.core.reflect.MethodUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.db.sql.SqlUtil;

View File

@ -14,7 +14,7 @@ package cn.hutool.db;
import cn.hutool.core.lang.Segment;
import cn.hutool.core.lang.page.PageInfo;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.db.sql.Order;
import java.io.Serializable;

View File

@ -17,7 +17,7 @@ import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.db.handler.ResultSetUtil;
import cn.hutool.db.handler.RsHandler;
import cn.hutool.db.sql.NamedSql;

View File

@ -15,7 +15,7 @@ package cn.hutool.db.dialect.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.db.DbRuntimeException;
import cn.hutool.db.Entity;
import cn.hutool.db.Page;

View File

@ -13,7 +13,7 @@
package cn.hutool.db.dialect.impl;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.db.Entity;
import cn.hutool.db.Page;

View File

@ -13,7 +13,7 @@
package cn.hutool.db.dialect.impl;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.db.Entity;
import cn.hutool.db.StatementUtil;

View File

@ -20,7 +20,7 @@ import cn.hutool.core.reflect.ConstructorUtil;
import cn.hutool.core.reflect.MethodUtil;
import cn.hutool.core.reflect.TypeUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.db.DbRuntimeException;
import cn.hutool.db.Entity;

View File

@ -17,7 +17,7 @@ import cn.hutool.core.exceptions.CloneRuntimeException;
import cn.hutool.core.math.NumberUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.text.split.SplitUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.CharUtil;
import java.io.Serializable;

View File

@ -14,7 +14,7 @@ package cn.hutool.db.sql;
import cn.hutool.core.lang.builder.Builder;
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.util.CharUtil;
import cn.hutool.core.text.StrUtil;

View File

@ -12,7 +12,7 @@
package cn.hutool.db.sql;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.core.text.StrUtil;
import java.util.List;

View File

@ -14,7 +14,7 @@ package cn.hutool.db.sql;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import java.util.Collection;
import java.util.LinkedList;

View File

@ -13,7 +13,7 @@
package cn.hutool.db.sql;
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.db.DbRuntimeException;
import cn.hutool.db.Entity;
import cn.hutool.db.Page;

View File

@ -15,7 +15,7 @@ package cn.hutool.db.sql;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.text.split.SplitUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.array.ArrayUtil;
import cn.hutool.db.Entity;
import java.io.Serializable;

Some files were not shown because too many files have changed in this diff Show More