diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/array/ArrayUtil.java b/hutool-core/src/main/java/org/dromara/hutool/core/array/ArrayUtil.java
index 40be17855..804995e74 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/array/ArrayUtil.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/array/ArrayUtil.java
@@ -42,6 +42,7 @@ import java.util.stream.Collectors;
public class ArrayUtil extends PrimitiveArrayUtil {
// region ----- ofArray
+
/**
* 转为数组,如果values为数组,返回,否则返回一个只有values一个元素的数组
* 注意:values的元素类型或其本身类型必须和提供的elementType完全一致
@@ -64,7 +65,7 @@ public class ArrayUtil extends PrimitiveArrayUtil {
* 包装单一元素为数组
*
* @param 数组类型
- * @param value 元素值
+ * @param value 元素值
* @param elementType 数组元素类型,{@code null}表示使用value的类型
* @return 数组
*/
@@ -777,18 +778,18 @@ public class ArrayUtil extends PrimitiveArrayUtil {
*
*
* @param 数组元素类型
- * @param buffer 已有数组
+ * @param array 已有数组
* @param index 位置
* @param values 新值
* @return 新数组或原有数组
* @since 5.7.23
*/
@SuppressWarnings({"unchecked"})
- public static T[] replace(final T[] buffer, final int index, final T... values) {
- if (isEmpty(buffer)) {
+ public static T[] replace(final T[] array, final int index, final T... values) {
+ if (isEmpty(array)) {
return values;
}
- return ArrayWrapper.of(buffer).replace(index, values).getRaw();
+ return ArrayWrapper.of(array).replace(index, values).getRaw();
}
/**
diff --git a/hutool-core/src/test/java/org/dromara/hutool/core/array/ArrayUtilTest.java b/hutool-core/src/test/java/org/dromara/hutool/core/array/ArrayUtilTest.java
index e39fae3b1..5c2a4ffd3 100644
--- a/hutool-core/src/test/java/org/dromara/hutool/core/array/ArrayUtilTest.java
+++ b/hutool-core/src/test/java/org/dromara/hutool/core/array/ArrayUtilTest.java
@@ -561,6 +561,20 @@ public class ArrayUtilTest {
assertArrayEquals(new Object[]{4, "3", '2', "1"}, reverse);
}
+ @Test
+ void testRemoveWithValidIndex() {
+ final String[] array = {"a", "b", "c", "d"};
+ final String[] result = ArrayUtil.remove(array, 1);
+ assertArrayEquals(new String[]{"a", "c", "d"}, result);
+ }
+
+ @Test
+ void testRemoveEleFromObjectArray() {
+ final Integer[] array = {1, 2, 3, 2, 4};
+ final Integer[] expected = {1, 3, 2, 4};
+ Assertions.assertArrayEquals(expected, ArrayUtil.removeEle(array, 2));
+ }
+
@Test
public void removeEmptyTest() {
final String[] a = {"a", "b", "", null, " ", "c"};
@@ -643,7 +657,7 @@ public class ArrayUtilTest {
final String[] a = {"1", "2", "3", "4"};
final String[] b = {"a", "b", "c"};
- // 在小于0的位置,-1的位置插入,返回b+a,新数组
+ // 在小于0的位置,相当于在a前插入b,返回b+a,新数组
String[] result = ArrayUtil.replace(a, -1, b);
assertArrayEquals(new String[]{"a", "b", "c", "1", "2", "3", "4"}, result);
@@ -1035,4 +1049,26 @@ public class ArrayUtilTest {
// Then
assertArrayEquals(list.toArray(new String[0]), result, "The array should match the list contents.");
}
+
+ @Test
+ public void testResizeWithSmallerSize() {
+ // Setup
+ final Integer[] originalArray = {1, 2, 3, 4, 5};
+ // Execute
+ final Integer[] resizedArray = ArrayUtil.resize(originalArray, 3);
+ // Assert
+ assertEquals(3, resizedArray.length);
+ assertArrayEquals(new Integer[]{1, 2, 3}, resizedArray);
+ }
+
+ @Test
+ public void testResizeWithLargerSize() {
+ // Setup
+ final Integer[] originalArray = {1, 2, 3};
+ // Execute
+ final Integer[] resizedArray = ArrayUtil.resize(originalArray, 5);
+ // Assert
+ assertEquals(5, resizedArray.length);
+ assertArrayEquals(new Integer[]{1, 2, 3, null, null}, resizedArray);
+ }
}