From 205733e6143276338f0278cb775986d97e3b3609 Mon Sep 17 00:00:00 2001 From: easepan Date: Tue, 16 Jun 2020 17:54:44 +0800 Subject: [PATCH] fix: tolerant map return null if put a null value --- .../src/main/java/cn/hutool/core/map/TolerantMap.java | 7 +++++++ .../src/test/java/cn/hutool/core/map/TolerantMapTest.java | 2 ++ 2 files changed, 9 insertions(+) diff --git a/hutool-core/src/main/java/cn/hutool/core/map/TolerantMap.java b/hutool-core/src/main/java/cn/hutool/core/map/TolerantMap.java index 9f190c52e2..1d5ff80c2c 100644 --- a/hutool-core/src/main/java/cn/hutool/core/map/TolerantMap.java +++ b/hutool-core/src/main/java/cn/hutool/core/map/TolerantMap.java @@ -1,5 +1,7 @@ package cn.hutool.core.map; +import cn.hutool.core.util.ObjectUtil; + import java.util.HashMap; import java.util.Map; import java.util.Objects; @@ -75,6 +77,11 @@ public class TolerantMap extends MapWrapper { return getOrDefault(key, defaultValue); } + @Override + public V getOrDefault(Object key, V defaultValue) { + return ObjectUtil.defaultIfNull(super.get(key), defaultValue); + } + @Override public boolean equals(Object o) { if (this == o) { diff --git a/hutool-core/src/test/java/cn/hutool/core/map/TolerantMapTest.java b/hutool-core/src/test/java/cn/hutool/core/map/TolerantMapTest.java index b6ed7cbe21..a7edfdd9d4 100644 --- a/hutool-core/src/test/java/cn/hutool/core/map/TolerantMapTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/map/TolerantMapTest.java @@ -15,6 +15,7 @@ public class TolerantMapTest { public void before() { map.put("monday", "星期一"); map.put("tuesday", "星期二"); + map.put("null", null); } @Test @@ -36,5 +37,6 @@ public class TolerantMapTest { public void testGet() { assert "星期二".equals(map.get("tuesday")); assert "default".equals(map.get(RandomUtil.randomString(6))); + assert "default".equals(map.get("null")); } } -- Gitee