From 1ab9b6b3e90e1f9dd5a718be068cb673066504a1 Mon Sep 17 00:00:00 2001 From: Looly Date: Mon, 27 Sep 2021 11:56:33 +0800 Subject: [PATCH] fix get null bug --- CHANGELOG.md | 3 +- .../main/java/cn/hutool/core/codec/BCD.java | 2 +- .../hutool/core/collection/IterUtilTest.java | 32 ++++++------------- .../main/java/cn/hutool/json/JSONGetter.java | 12 +++---- 4 files changed, 19 insertions(+), 30 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b3462514e..c0617104d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ ------------------------------------------------------------------------------------------------------------- -# 5.7.14 (2021-09-25) +# 5.7.14 (2021-09-27) ### 🐣新特性 * 【extra 】 修复HttpCookie设置cookies的方法,不符合RFC6265规范问题(issue#I4B70D@Gitee) @@ -16,6 +16,7 @@ ### 🐞Bug修复 * 【http 】 修复HttpCookie设置cookies的方法,不符合RFC6265规范问题(pr#418@Gitee) * 【http 】 修复Extractor中filter无效问题 +* 【json 】 修复JSONGetter.getJSONArray判断null的问题(issue#I4C15H@Gitee) ------------------------------------------------------------------------------------------------------------- diff --git a/hutool-core/src/main/java/cn/hutool/core/codec/BCD.java b/hutool-core/src/main/java/cn/hutool/core/codec/BCD.java index 5259405e1..6600133cc 100644 --- a/hutool-core/src/main/java/cn/hutool/core/codec/BCD.java +++ b/hutool-core/src/main/java/cn/hutool/core/codec/BCD.java @@ -3,7 +3,7 @@ package cn.hutool.core.codec; import cn.hutool.core.lang.Assert; /** - * BCD码(Binary-Coded Decimal‎)亦称二进码十进数或二-十进制代码
+ * BCD码(Binary-Coded Decimal)亦称二进码十进数或二-十进制代码
* BCD码这种编码形式利用了四个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行
* see http://cuisuqiang.iteye.com/blog/1429956 * @author Looly 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 bc3f7b5f7..98aaddab2 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 @@ -1,9 +1,16 @@ package cn.hutool.core.collection; +import lombok.AllArgsConstructor; +import lombok.Data; import org.junit.Assert; import org.junit.Test; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * {@link IterUtil} 单元测试 @@ -83,29 +90,10 @@ public class IterUtilTest { Assert.assertEquals(expectedMap, testMap); } + @Data + @AllArgsConstructor public static class Car { private String carNumber; private String carName; - - public Car(String carNumber, String carName) { - this.carNumber = carNumber; - this.carName = carName; - } - - public String getCarNumber() { - return carNumber; - } - - public void setCarNumber(String carNumber) { - this.carNumber = carNumber; - } - - public String getCarName() { - return carName; - } - - public void setCarName(String carName) { - this.carName = carName; - } } } diff --git a/hutool-json/src/main/java/cn/hutool/json/JSONGetter.java b/hutool-json/src/main/java/cn/hutool/json/JSONGetter.java index 06e79aeed..a7135b1dc 100644 --- a/hutool-json/src/main/java/cn/hutool/json/JSONGetter.java +++ b/hutool-json/src/main/java/cn/hutool/json/JSONGetter.java @@ -34,7 +34,7 @@ public interface JSONGetter extends OptNullBasicTypeFromObjectGetter { * @return true 无此key或值为{@code null}或{@link JSONNull#NULL}返回{@code false},其它返回{@code true} */ default boolean isNull(K key) { - return JSONNull.NULL.equals(this.getObj(key)); + return JSONUtil.isNull(this.getObj(key)); } /** @@ -69,7 +69,7 @@ public interface JSONGetter extends OptNullBasicTypeFromObjectGetter { */ default JSONArray getJSONArray(K key) { final Object object = this.getObj(key); - if (null == object) { + if (JSONUtil.isNull(object)) { return null; } @@ -88,7 +88,7 @@ public interface JSONGetter extends OptNullBasicTypeFromObjectGetter { */ default JSONObject getJSONObject(K key) { final Object object = this.getObj(key); - if (null == object) { + if (JSONUtil.isNull(object)) { return null; } @@ -117,7 +117,7 @@ public interface JSONGetter extends OptNullBasicTypeFromObjectGetter { default Date getDate(K key, Date defaultValue) { // 默认转换 final Object obj = getObj(key); - if (null == obj) { + if (JSONUtil.isNull(obj)) { return defaultValue; } if (obj instanceof Date) { @@ -151,7 +151,7 @@ public interface JSONGetter extends OptNullBasicTypeFromObjectGetter { default LocalDateTime getLocalDateTime(K key, LocalDateTime defaultValue) { // 默认转换 final Object obj = getObj(key); - if (null == obj) { + if (JSONUtil.isNull(obj)) { return defaultValue; } if (obj instanceof LocalDateTime) { @@ -202,7 +202,7 @@ public interface JSONGetter extends OptNullBasicTypeFromObjectGetter { */ default T get(K key, Class type, boolean ignoreError) throws ConvertException { final Object value = this.getObj(key); - if (null == value) { + if (JSONUtil.isNull(value)) { return null; } return JSONConverter.jsonConvert(type, value, ignoreError);