diff --git a/CHANGELOG.md b/CHANGELOG.md index fdcc65b2e..a027e3e84 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -64,6 +64,7 @@ * 【core 】 修复Win下文件名带*问题(pr#584@Gitee) * 【core 】 FileUtil.getMimeType增加rar、7z支持(issue#I4ZBN0@Gitee) * 【json 】 JSON修复transient设置无效问题(issue#2212@Github) +* 【core 】 修复IterUtil.getElementType获取结果为null的问题(issue#2222@Github) ------------------------------------------------------------------------------------------------------------- # 5.7.22 (2022-03-01) diff --git a/hutool-core/src/main/java/cn/hutool/core/collection/IterUtil.java b/hutool-core/src/main/java/cn/hutool/core/collection/IterUtil.java index 2634eefae..57067264e 100644 --- a/hutool-core/src/main/java/cn/hutool/core/collection/IterUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/collection/IterUtil.java @@ -643,7 +643,7 @@ public class IterUtil { */ public static Class getElementType(Iterator iterator) { final Iterator iter2 = new CopiedIter<>(iterator); - if (iter2.hasNext()) { + while (iter2.hasNext()) { final Object t = iter2.next(); if (null != t) { return t.getClass(); diff --git a/hutool-core/src/test/java/cn/hutool/core/collection/IterUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/collection/IterUtilTest.java index 98aaddab2..a0f9c7991 100644 --- a/hutool-core/src/test/java/cn/hutool/core/collection/IterUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/collection/IterUtilTest.java @@ -90,6 +90,13 @@ public class IterUtilTest { Assert.assertEquals(expectedMap, testMap); } + @Test + public void getElementTypeTest(){ + List integers = Arrays.asList(null, 1); + Class elementType = IterUtil.getElementType(integers); + Assert.assertEquals(Integer.class,elementType); + } + @Data @AllArgsConstructor public static class Car { diff --git a/hutool-cron/src/test/java/cn/hutool/cron/pattern/CronPatternNextMatchTest.java b/hutool-cron/src/test/java/cn/hutool/cron/pattern/CronPatternNextMatchTest.java index 6ee3bf0e8..aad62aeb4 100644 --- a/hutool-cron/src/test/java/cn/hutool/cron/pattern/CronPatternNextMatchTest.java +++ b/hutool-cron/src/test/java/cn/hutool/cron/pattern/CronPatternNextMatchTest.java @@ -14,7 +14,7 @@ public class CronPatternNextMatchTest { CronPattern pattern = new CronPattern("23 12 * 12 * * *"); //noinspection ConstantConditions final Calendar calendar = pattern.nextMatchAfter( - DateUtil.parse("2022-04-12 09:12:12").toCalendar()); + DateUtil.parse("2022-04-12 09:12:24").toCalendar()); Console.log(DateUtil.date(calendar)); Assert.assertTrue(pattern.match(calendar, true));