diff --git a/hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java b/hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java index 9d52ab3c3..a597a063c 100755 --- a/hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/collection/CollUtil.java @@ -2884,7 +2884,7 @@ public class CollUtil { * @since 4.6.5 */ public static > T max(Collection coll) { - return Collections.max(coll); + return isEmpty(coll) ? null : Collections.max(coll); } /** @@ -2897,7 +2897,7 @@ public class CollUtil { * @since 4.6.5 */ public static > T min(Collection coll) { - return Collections.min(coll); + return isEmpty(coll) ? null : Collections.min(coll); } /** diff --git a/hutool-core/src/test/java/cn/hutool/core/collection/CollUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/collection/CollUtilTest.java index ac869e273..585c1cd6d 100755 --- a/hutool-core/src/test/java/cn/hutool/core/collection/CollUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/collection/CollUtilTest.java @@ -1066,4 +1066,22 @@ public class CollUtilTest { Assert.assertFalse(CollUtil.allMatch(list, i -> i == 1)); Assert.assertTrue(CollUtil.allMatch(list, i -> i <= 6)); } + + @Test + public void maxTest() { + List list = Arrays.asList(1, 2, 3, 4, 5, 6); + Assert.assertEquals((Integer) 6, CollUtil.max(list)); + } + + @Test + public void maxEmptyTest() { + final List emptyList = Collections.emptyList(); + Assert.assertNull(CollUtil.max(emptyList)); + } + + @Test + public void minNullTest() { + Assert.assertNull(CollUtil.max(null)); + } + }