diff --git a/CHANGELOG.md b/CHANGELOG.md index 1701441c4..59bb0debd 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ * 【core 】 BooleanUtil的andOfWrap和orOfWrap()忽略null(issue#2599@Github) * 【jwt 】 优化JWT自动识别header中的算法,并可自定义header中key的顺序(issue#I5QRUO@Gitee) ### 🐞Bug修复 +* 【core 】 修复ObjectUtil.defaultIfXXX中NPE问题(pr#2603@Github) ------------------------------------------------------------------------------------------------------------- diff --git a/hutool-core/src/test/java/cn/hutool/core/util/ObjectUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/util/ObjectUtilTest.java index e3658babe..9d37da6dd 100644 --- a/hutool-core/src/test/java/cn/hutool/core/util/ObjectUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/util/ObjectUtilTest.java @@ -68,10 +68,10 @@ public class ObjectUtilTest { final String nullValue = null; final String dateStr = "2020-10-23 15:12:30"; Instant result1 = ObjectUtil.defaultIfNull(dateStr, - () -> DateUtil.parse(dateStr, DatePattern.NORM_DATETIME_PATTERN).toInstant(), Instant.now()); + (source) -> DateUtil.parse(source, DatePattern.NORM_DATETIME_PATTERN).toInstant(), Instant.now()); Assert.assertNotNull(result1); Instant result2 = ObjectUtil.defaultIfNull(nullValue, - () -> DateUtil.parse(nullValue, DatePattern.NORM_DATETIME_PATTERN).toInstant(), Instant.now()); + (source) -> DateUtil.parse(source, DatePattern.NORM_DATETIME_PATTERN).toInstant(), Instant.now()); Assert.assertNotNull(result2); Obj obj = new Obj(); @@ -88,10 +88,10 @@ public class ObjectUtilTest { final String emptyValue = ""; final String dateStr = "2020-10-23 15:12:30"; Instant result1 = ObjectUtil.defaultIfEmpty(emptyValue, - () -> DateUtil.parse(emptyValue, DatePattern.NORM_DATETIME_PATTERN).toInstant(), Instant.now()); + (source) -> DateUtil.parse(source, DatePattern.NORM_DATETIME_PATTERN).toInstant(), Instant.now()); Assert.assertNotNull(result1); Instant result2 = ObjectUtil.defaultIfEmpty(dateStr, - () -> DateUtil.parse(dateStr, DatePattern.NORM_DATETIME_PATTERN).toInstant(), Instant.now()); + (source) -> DateUtil.parse(source, DatePattern.NORM_DATETIME_PATTERN).toInstant(), Instant.now()); Assert.assertNotNull(result2); } @@ -102,6 +102,7 @@ public class ObjectUtilTest { Assert.assertTrue(basicType); } + @SuppressWarnings("ConstantConditions") @Test public void isNotNullTest() { String a = null;