This commit is contained in:
Looly
2023-06-24 19:36:10 +08:00
parent 4f26d3aba5
commit ece736d5d4
3 changed files with 47 additions and 2 deletions

View File

@@ -2110,7 +2110,7 @@ public class CollUtil {
* @since 4.6.5
*/
public static <T extends Comparable<? super T>> T max(final Collection<T> coll) {
return Collections.max(coll);
return isEmpty(coll) ? null : Collections.max(coll);
}
/**
@@ -2123,7 +2123,7 @@ public class CollUtil {
* @since 4.6.5
*/
public static <T extends Comparable<? super T>> T min(final Collection<T> coll) {
return Collections.min(coll);
return isEmpty(coll) ? null : Collections.min(coll);
}
/**

View File

@@ -1163,4 +1163,22 @@ public class CollUtilTest {
Assertions.assertFalse(CollUtil.allMatch(list, i -> i == 1));
Assertions.assertTrue(CollUtil.allMatch(list, i -> i <= 6));
}
@Test
public void maxTest() {
final List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6);
Assertions.assertEquals((Integer) 6, CollUtil.max(list));
}
@SuppressWarnings({"rawtypes", "unchecked"})
@Test
public void maxEmptyTest() {
final List<? extends Comparable> emptyList = Collections.emptyList();
Assertions.assertNull(CollUtil.max(emptyList));
}
@Test
public void minNullTest() {
Assertions.assertNull(CollUtil.max(null));
}
}