From abea2f573901af7d54925e5b6c5321653edb1788 Mon Sep 17 00:00:00 2001 From: Looly Date: Fri, 10 Jun 2022 21:28:08 +0800 Subject: [PATCH] add test --- .../src/main/java/cn/hutool/core/cache/SimpleCache.java | 2 +- .../test/java/cn/hutool/core/lang/SimpleCacheTest.java | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/hutool-core/src/main/java/cn/hutool/core/cache/SimpleCache.java b/hutool-core/src/main/java/cn/hutool/core/cache/SimpleCache.java index 687d9fed7..7f1695be6 100644 --- a/hutool-core/src/main/java/cn/hutool/core/cache/SimpleCache.java +++ b/hutool-core/src/main/java/cn/hutool/core/cache/SimpleCache.java @@ -96,7 +96,7 @@ public class SimpleCache implements Iterable>, Serializabl */ public V get(final K key, final Predicate validPredicate, final Func0 supplier) { V v = get(key); - if((null != validPredicate && false == validPredicate.test(v))){ + if((null != validPredicate && null != v && false == validPredicate.test(v))){ v = null; } if (null == v && null != supplier) { diff --git a/hutool-core/src/test/java/cn/hutool/core/lang/SimpleCacheTest.java b/hutool-core/src/test/java/cn/hutool/core/lang/SimpleCacheTest.java index e2ce0f7d4..ff0087074 100755 --- a/hutool-core/src/test/java/cn/hutool/core/lang/SimpleCacheTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/lang/SimpleCacheTest.java @@ -46,6 +46,14 @@ public class SimpleCacheTest { Assert.assertEquals("value6", cache.get("key6", ()-> "value6")); } + @Test + public void getWithPredicateTest(){ + // 检查predicate空指针 + final SimpleCache cache = new SimpleCache<>(); + final String value = cache.get("abc", (v)-> v.equals("1"), () -> "123"); + Assert.assertEquals("123", value); + } + @Test public void getConcurrencyTest(){ final SimpleCache cache = new SimpleCache<>();