diff --git a/CHANGELOG.md b/CHANGELOG.md
index c77276f9d..dd59aef8c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,7 +3,7 @@
-------------------------------------------------------------------------------------------------------------
-# 5.7.12 (2021-09-02)
+# 5.7.12 (2021-09-06)
### 🐣新特性
* 【system 】 OshiUtil增加getCurrentProcess方法
@@ -13,6 +13,7 @@
* 【setting】 Setting、Props持有URL改为持有Resource(pr#1182@Github)
### 🐞Bug修复
+* 【core 】 修复ListUtil.split方法越界问题(issue#I48Q0P@Gitee)
-------------------------------------------------------------------------------------------------------------
diff --git a/hutool-core/src/main/java/cn/hutool/core/collection/ListUtil.java b/hutool-core/src/main/java/cn/hutool/core/collection/ListUtil.java
index 780d83246..cc3b23192 100644
--- a/hutool-core/src/main/java/cn/hutool/core/collection/ListUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/collection/ListUtil.java
@@ -533,8 +533,8 @@ public class ListUtil {
*
*
* @param 集合元素类型
- * @param list 列表
- * @param size 每个段的长度
+ * @param list 列表,为空时返回{@link #empty()}
+ * @param size 每个段的长度,当长度超过list长度时,size按照list长度计算,即只返回一个节点
* @return 分段列表
* @since 5.4.5
*/
@@ -557,8 +557,8 @@ public class ListUtil {
*
*
* @param 集合元素类型
- * @param list 列表
- * @param size 每个段的长度
+ * @param list 列表,为空时返回{@link #empty()}
+ * @param size 每个段的长度,当长度超过list长度时,size按照list长度计算,即只返回一个节点
* @return 分段列表
* @see #partition(List, int)
* @since 5.4.5
diff --git a/hutool-core/src/main/java/cn/hutool/core/collection/Partition.java b/hutool-core/src/main/java/cn/hutool/core/collection/Partition.java
index 40015104d..3513d4711 100644
--- a/hutool-core/src/main/java/cn/hutool/core/collection/Partition.java
+++ b/hutool-core/src/main/java/cn/hutool/core/collection/Partition.java
@@ -26,7 +26,7 @@ public class Partition extends AbstractList> {
*/
public Partition(List list, int size) {
this.list = list;
- this.size = size;
+ this.size = Math.min(size, list.size());
}
@Override
diff --git a/hutool-core/src/main/java/cn/hutool/core/date/LocalDateTimeUtil.java b/hutool-core/src/main/java/cn/hutool/core/date/LocalDateTimeUtil.java
index 5c8422fbd..9b77d6577 100644
--- a/hutool-core/src/main/java/cn/hutool/core/date/LocalDateTimeUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/date/LocalDateTimeUtil.java
@@ -215,7 +215,8 @@ public class LocalDateTimeUtil {
}
/**
- * 解析日期时间字符串为{@link LocalDateTime},仅支持yyyy-MM-dd'T'HH:mm:ss格式,例如:2007-12-03T10:15:30
+ * 解析日期时间字符串为{@link LocalDateTime},仅支持yyyy-MM-dd'T'HH:mm:ss格式,例如:2007-12-03T10:15:30
+ * 即{@link DateTimeFormatter#ISO_LOCAL_DATE_TIME}
*
* @param text 日期时间字符串
* @return {@link LocalDateTime}
@@ -225,7 +226,8 @@ public class LocalDateTimeUtil {
}
/**
- * 解析日期时间字符串为{@link LocalDateTime},格式支持日期时间、日期、时间
+ * 解析日期时间字符串为{@link LocalDateTime},格式支持日期时间、日期、时间
+ * 如果formatter为{code null},则使用{@link DateTimeFormatter#ISO_LOCAL_DATE_TIME}
*
* @param text 日期时间字符串
* @param formatter 日期格式化器,预定义的格式见:{@link DateTimeFormatter}
diff --git a/hutool-core/src/test/java/cn/hutool/core/collection/ListUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/collection/ListUtilTest.java
index 75a767e9b..47a3b36de 100644
--- a/hutool-core/src/test/java/cn/hutool/core/collection/ListUtilTest.java
+++ b/hutool-core/src/test/java/cn/hutool/core/collection/ListUtilTest.java
@@ -16,6 +16,15 @@ import java.util.List;
public class ListUtilTest {
+ @Test
+ public void splitTest(){
+ List listAll = new ArrayList<>();
+ listAll.add("1");
+ listAll.add("2");
+ List> lists = ListUtil.split(listAll, 10);
+ Assert.assertEquals(1, lists.size());
+ }
+
@Test
@Ignore
public void splitBenchTest() {