From 5bd118c63673336fedd5ac9bd1d6a3d767973bbc Mon Sep 17 00:00:00 2001 From: Looly Date: Tue, 13 Sep 2022 23:04:32 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DObjectUtil.defaultIfXXX?= =?UTF-8?q?=E4=B8=ADNPE=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + .../test/java/cn/hutool/core/util/ObjectUtilTest.java | 9 +++++---- 2 files changed, 6 insertions(+), 4 deletions(-) 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;