diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/annotation/AnnotatedElementUtil.java b/hutool-core/src/main/java/org/dromara/hutool/core/annotation/AnnotatedElementUtil.java
index 90f4d7906..734c00c4c 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/annotation/AnnotatedElementUtil.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/annotation/AnnotatedElementUtil.java
@@ -15,7 +15,7 @@ package org.dromara.hutool.core.annotation;
import org.dromara.hutool.core.annotation.elements.HierarchicalAnnotatedElements;
import org.dromara.hutool.core.annotation.elements.MetaAnnotatedElement;
import org.dromara.hutool.core.annotation.elements.RepeatableMetaAnnotatedElement;
-import org.dromara.hutool.core.map.WeakConcurrentMap;
+import org.dromara.hutool.core.map.reference.WeakKeyConcurrentMap;
import org.dromara.hutool.core.array.ArrayUtil;
import org.dromara.hutool.core.util.ObjUtil;
@@ -133,7 +133,7 @@ import java.util.stream.Stream;
*
缓存
*
为了避免注解以及{@link AnnotatedElement}层级结构解析过程中的大量反射调用,
* 工具类为{@link AnnotatedElement}及其元注解信息进行了缓存。
- * 缓存功能默认基于{@link WeakConcurrentMap}实现,会在gc时自动回收部分缓存数据。
+ * 缓存功能默认基于{@link WeakKeyConcurrentMap}实现,会在gc时自动回收部分缓存数据。
* 但是若有必要,也可以调用{@link #clearCaches()}方法主动清空缓存。
*
* @author huangchengxing
@@ -150,22 +150,22 @@ public class AnnotatedElementUtil {
/**
* 支持属性解析的{@link MetaAnnotatedElement}缓存
*/
- private static final Map> RESOLVED_ELEMENT_CACHE = new WeakConcurrentMap<>();
+ private static final Map> RESOLVED_ELEMENT_CACHE = new WeakKeyConcurrentMap<>();
/**
* 不支持属性解析的{@link MetaAnnotatedElement}缓存
*/
- private static final Map> ELEMENT_CACHE = new WeakConcurrentMap<>();
+ private static final Map> ELEMENT_CACHE = new WeakKeyConcurrentMap<>();
/**
* 不支持属性解析的{@link RepeatableMetaAnnotatedElement}缓存
*/
- private static final Map> RESOLVED_REPEATABLE_ELEMENT_CACHE = new WeakConcurrentMap<>();
+ private static final Map> RESOLVED_REPEATABLE_ELEMENT_CACHE = new WeakKeyConcurrentMap<>();
/**
* 不支持属性解析的{@link RepeatableMetaAnnotatedElement}缓存
*/
- private static final Map> REPEATABLE_ELEMENT_CACHE = new WeakConcurrentMap<>();
+ private static final Map> REPEATABLE_ELEMENT_CACHE = new WeakKeyConcurrentMap<>();
// region ========== find ==========
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/annotation/AnnotationMappingProxy.java b/hutool-core/src/main/java/org/dromara/hutool/core/annotation/AnnotationMappingProxy.java
index 2247ac82b..9dfa2cd9b 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/annotation/AnnotationMappingProxy.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/annotation/AnnotationMappingProxy.java
@@ -12,7 +12,7 @@
package org.dromara.hutool.core.annotation;
-import org.dromara.hutool.core.map.SafeConcurrentHashMap;
+import org.dromara.hutool.core.map.concurrent.SafeConcurrentHashMap;
import org.dromara.hutool.core.reflect.method.MethodUtil;
import org.dromara.hutool.core.text.CharSequenceUtil;
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/annotation/AnnotationUtil.java b/hutool-core/src/main/java/org/dromara/hutool/core/annotation/AnnotationUtil.java
index b74ed9766..855c10513 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/annotation/AnnotationUtil.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/annotation/AnnotationUtil.java
@@ -19,7 +19,7 @@ import org.dromara.hutool.core.exception.HutoolException;
import org.dromara.hutool.core.func.LambdaInfo;
import org.dromara.hutool.core.func.LambdaUtil;
import org.dromara.hutool.core.func.SerFunction;
-import org.dromara.hutool.core.map.WeakConcurrentMap;
+import org.dromara.hutool.core.map.reference.WeakKeyConcurrentMap;
import org.dromara.hutool.core.reflect.FieldUtil;
import org.dromara.hutool.core.reflect.method.MethodUtil;
import org.dromara.hutool.core.text.CharSequenceUtil;
@@ -50,7 +50,7 @@ public class AnnotationUtil {
/**
* 直接声明的注解缓存
*/
- private static final Map DECLARED_ANNOTATIONS_CACHE = new WeakConcurrentMap<>();
+ private static final Map DECLARED_ANNOTATIONS_CACHE = new WeakKeyConcurrentMap<>();
/**
* 获取直接声明的注解,若已有缓存则从缓存中获取
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/annotation/RepeatableAnnotationCollector.java b/hutool-core/src/main/java/org/dromara/hutool/core/annotation/RepeatableAnnotationCollector.java
index 71c1d124e..fa5f5a7c7 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/annotation/RepeatableAnnotationCollector.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/annotation/RepeatableAnnotationCollector.java
@@ -14,7 +14,7 @@ package org.dromara.hutool.core.annotation;
import org.dromara.hutool.core.array.ArrayUtil;
import org.dromara.hutool.core.collection.CollUtil;
-import org.dromara.hutool.core.map.WeakConcurrentMap;
+import org.dromara.hutool.core.map.reference.WeakKeyConcurrentMap;
import org.dromara.hutool.core.reflect.method.MethodUtil;
import org.dromara.hutool.core.text.CharSequenceUtil;
@@ -337,7 +337,7 @@ public interface RepeatableAnnotationCollector {
/**
* 可重复注解对应的方法缓存
*/
- private final Map, Object> repeatableMethodCache = new WeakConcurrentMap<>();
+ private final Map, Object> repeatableMethodCache = new WeakKeyConcurrentMap<>();
/**
* 构造
@@ -447,7 +447,7 @@ public interface RepeatableAnnotationCollector {
/**
* 可重复注解对应的方法缓存
*/
- private final Map, Object> repeatableMethodCache = new WeakConcurrentMap<>();
+ private final Map, Object> repeatableMethodCache = new WeakKeyConcurrentMap<>();
/**
* 构造
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/bean/BeanDescCache.java b/hutool-core/src/main/java/org/dromara/hutool/core/bean/BeanDescCache.java
index 3146d2638..1563c0f9f 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/bean/BeanDescCache.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/bean/BeanDescCache.java
@@ -13,7 +13,7 @@
package org.dromara.hutool.core.bean;
import org.dromara.hutool.core.func.SerSupplier;
-import org.dromara.hutool.core.map.WeakConcurrentMap;
+import org.dromara.hutool.core.map.reference.WeakKeyConcurrentMap;
/**
* Bean属性缓存
@@ -27,7 +27,7 @@ public enum BeanDescCache {
*/
INSTANCE;
- private final WeakConcurrentMap, BeanDesc> bdCache = new WeakConcurrentMap<>();
+ private final WeakKeyConcurrentMap, BeanDesc> bdCache = new WeakKeyConcurrentMap<>();
/**
* 获得属性名和{@link BeanDesc}Map映射
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/bean/BeanInfoCache.java b/hutool-core/src/main/java/org/dromara/hutool/core/bean/BeanInfoCache.java
index 038f0240a..005f33e0b 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/bean/BeanInfoCache.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/bean/BeanInfoCache.java
@@ -13,8 +13,8 @@
package org.dromara.hutool.core.bean;
import org.dromara.hutool.core.func.SerSupplier;
-import org.dromara.hutool.core.map.ReferenceConcurrentMap;
-import org.dromara.hutool.core.map.WeakConcurrentMap;
+import org.dromara.hutool.core.map.reference.ReferenceKeyConcurrentMap;
+import org.dromara.hutool.core.map.reference.WeakKeyConcurrentMap;
import java.beans.PropertyDescriptor;
import java.util.Map;
@@ -31,8 +31,8 @@ public enum BeanInfoCache {
*/
INSTANCE;
- private final WeakConcurrentMap, Map> pdCache = new WeakConcurrentMap<>();
- private final WeakConcurrentMap, Map> ignoreCasePdCache = new WeakConcurrentMap<>();
+ private final WeakKeyConcurrentMap, Map> pdCache = new WeakKeyConcurrentMap<>();
+ private final WeakKeyConcurrentMap, Map> ignoreCasePdCache = new WeakKeyConcurrentMap<>();
/**
* 获得属性名和{@link PropertyDescriptor}Map映射
@@ -86,10 +86,10 @@ public enum BeanInfoCache {
* 根据是否忽略字段名的大小写,返回不用Cache对象
*
* @param ignoreCase 是否忽略大小写
- * @return {@link ReferenceConcurrentMap}
+ * @return {@link ReferenceKeyConcurrentMap}
* @since 5.4.1
*/
- private ReferenceConcurrentMap, Map> getCache(final boolean ignoreCase) {
+ private ReferenceKeyConcurrentMap, Map> getCache(final boolean ignoreCase) {
return ignoreCase ? ignoreCasePdCache : pdCache;
}
}
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/cache/SimpleCache.java b/hutool-core/src/main/java/org/dromara/hutool/core/cache/SimpleCache.java
index 79543ddd8..b48134b23 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/cache/SimpleCache.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/cache/SimpleCache.java
@@ -17,8 +17,8 @@ import org.dromara.hutool.core.func.SerSupplier;
import org.dromara.hutool.core.lang.Assert;
import org.dromara.hutool.core.lang.mutable.Mutable;
import org.dromara.hutool.core.lang.mutable.MutableObj;
-import org.dromara.hutool.core.map.SafeConcurrentHashMap;
-import org.dromara.hutool.core.map.WeakConcurrentMap;
+import org.dromara.hutool.core.map.concurrent.SafeConcurrentHashMap;
+import org.dromara.hutool.core.map.reference.WeakKeyConcurrentMap;
import java.io.Serializable;
import java.util.Iterator;
@@ -33,7 +33,7 @@ import java.util.function.Predicate;
import java.util.stream.Collectors;
/**
- * 简单缓存,无超时实现,默认使用{@link WeakConcurrentMap}实现缓存自动清理
+ * 简单缓存,无超时实现,默认使用{@link WeakKeyConcurrentMap}实现缓存自动清理
*
* @param 键类型
* @param 值类型
@@ -57,7 +57,7 @@ public class SimpleCache implements Iterable>, Serializabl
* 构造,默认使用{@link WeakHashMap}实现缓存自动清理
*/
public SimpleCache() {
- this(new WeakConcurrentMap<>());
+ this(new WeakKeyConcurrentMap<>());
}
/**
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/cache/impl/AbstractCache.java b/hutool-core/src/main/java/org/dromara/hutool/core/cache/impl/AbstractCache.java
index e7ee0e6ac..17c8647ab 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/cache/impl/AbstractCache.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/cache/impl/AbstractCache.java
@@ -17,7 +17,7 @@ import org.dromara.hutool.core.cache.CacheListener;
import org.dromara.hutool.core.func.SerSupplier;
import org.dromara.hutool.core.lang.mutable.Mutable;
import org.dromara.hutool.core.lang.mutable.MutableObj;
-import org.dromara.hutool.core.map.SafeConcurrentHashMap;
+import org.dromara.hutool.core.map.concurrent.SafeConcurrentHashMap;
import java.util.Iterator;
import java.util.Map;
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/cache/impl/WeakCache.java b/hutool-core/src/main/java/org/dromara/hutool/core/cache/impl/WeakCache.java
index 05ad38dbf..e14a2f337 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/cache/impl/WeakCache.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/cache/impl/WeakCache.java
@@ -15,7 +15,7 @@ package org.dromara.hutool.core.cache.impl;
import org.dromara.hutool.core.cache.CacheListener;
import org.dromara.hutool.core.lang.Opt;
import org.dromara.hutool.core.lang.mutable.Mutable;
-import org.dromara.hutool.core.map.WeakConcurrentMap;
+import org.dromara.hutool.core.map.reference.WeakKeyConcurrentMap;
import java.lang.ref.Reference;
@@ -39,14 +39,14 @@ public class WeakCache extends TimedCache{
* @param timeout 超时时常,单位毫秒,-1或0表示无限制
*/
public WeakCache(final long timeout) {
- super(timeout, new WeakConcurrentMap<>());
+ super(timeout, new WeakKeyConcurrentMap<>());
}
@Override
public WeakCache setListener(final CacheListener listener) {
super.setListener(listener);
- final WeakConcurrentMap, CacheObj> map = (WeakConcurrentMap, CacheObj>) this.cacheMap;
+ final WeakKeyConcurrentMap, CacheObj> map = (WeakKeyConcurrentMap, CacheObj>) this.cacheMap;
// WeakKey回收之后,key对应的值已经是null了,因此此处的key也为null
map.setPurgeListener((key, value)-> listener.onRemove(Opt.ofNullable(key).map(Reference::get).map(Mutable::get).get(), value.getValue()));
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/collection/ConcurrentHashSet.java b/hutool-core/src/main/java/org/dromara/hutool/core/collection/ConcurrentHashSet.java
index a023e1e48..f1f47f067 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/collection/ConcurrentHashSet.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/collection/ConcurrentHashSet.java
@@ -13,7 +13,7 @@
package org.dromara.hutool.core.collection;
import org.dromara.hutool.core.collection.set.SetFromMap;
-import org.dromara.hutool.core.map.SafeConcurrentHashMap;
+import org.dromara.hutool.core.map.concurrent.SafeConcurrentHashMap;
import java.util.Collection;
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/convert/RegisterConverter.java b/hutool-core/src/main/java/org/dromara/hutool/core/convert/RegisterConverter.java
index 77694dcc4..7a583fd30 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/convert/RegisterConverter.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/convert/RegisterConverter.java
@@ -17,7 +17,7 @@ import org.dromara.hutool.core.lang.Opt;
import org.dromara.hutool.core.lang.tuple.Pair;
import org.dromara.hutool.core.lang.tuple.Triple;
import org.dromara.hutool.core.lang.tuple.Tuple;
-import org.dromara.hutool.core.map.SafeConcurrentHashMap;
+import org.dromara.hutool.core.map.concurrent.SafeConcurrentHashMap;
import org.dromara.hutool.core.reflect.TypeUtil;
import javax.xml.datatype.XMLGregorianCalendar;
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/convert/impl/EnumConverter.java b/hutool-core/src/main/java/org/dromara/hutool/core/convert/impl/EnumConverter.java
index 5f91d6b85..c12b55229 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/convert/impl/EnumConverter.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/convert/impl/EnumConverter.java
@@ -16,7 +16,7 @@ import org.dromara.hutool.core.convert.AbstractConverter;
import org.dromara.hutool.core.convert.ConvertException;
import org.dromara.hutool.core.lang.EnumItem;
import org.dromara.hutool.core.map.MapUtil;
-import org.dromara.hutool.core.map.WeakConcurrentMap;
+import org.dromara.hutool.core.map.reference.WeakKeyConcurrentMap;
import org.dromara.hutool.core.reflect.ClassUtil;
import org.dromara.hutool.core.reflect.method.MethodUtil;
import org.dromara.hutool.core.reflect.ModifierUtil;
@@ -42,7 +42,7 @@ public class EnumConverter extends AbstractConverter {
*/
public static final EnumConverter INSTANCE = new EnumConverter();
- private static final WeakConcurrentMap, Map, Method>> VALUE_OF_METHOD_CACHE = new WeakConcurrentMap<>();
+ private static final WeakKeyConcurrentMap, Map, Method>> VALUE_OF_METHOD_CACHE = new WeakKeyConcurrentMap<>();
@Override
protected Object convertInternal(final Class> targetClass, final Object value) {
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/data/CreditCodeUtil.java b/hutool-core/src/main/java/org/dromara/hutool/core/data/CreditCodeUtil.java
index f30ceb899..f995d9500 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/data/CreditCodeUtil.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/data/CreditCodeUtil.java
@@ -12,7 +12,7 @@
package org.dromara.hutool.core.data;
-import org.dromara.hutool.core.map.SafeConcurrentHashMap;
+import org.dromara.hutool.core.map.concurrent.SafeConcurrentHashMap;
import org.dromara.hutool.core.regex.PatternPool;
import org.dromara.hutool.core.regex.ReUtil;
import org.dromara.hutool.core.text.StrUtil;
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/date/format/FastDatePrinter.java b/hutool-core/src/main/java/org/dromara/hutool/core/date/format/FastDatePrinter.java
index b55045428..c602a1814 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/date/format/FastDatePrinter.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/date/format/FastDatePrinter.java
@@ -14,7 +14,7 @@ package org.dromara.hutool.core.date.format;
import org.dromara.hutool.core.date.DateException;
import org.dromara.hutool.core.date.format.parser.FastDateParser;
-import org.dromara.hutool.core.map.SafeConcurrentHashMap;
+import org.dromara.hutool.core.map.concurrent.SafeConcurrentHashMap;
import java.io.IOException;
import java.io.ObjectInputStream;
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/date/format/FormatCache.java b/hutool-core/src/main/java/org/dromara/hutool/core/date/format/FormatCache.java
index 64d1ca3d5..c154adb51 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/date/format/FormatCache.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/date/format/FormatCache.java
@@ -14,7 +14,7 @@ package org.dromara.hutool.core.date.format;
import org.dromara.hutool.core.lang.Assert;
import org.dromara.hutool.core.lang.tuple.Tuple;
-import org.dromara.hutool.core.map.SafeConcurrentHashMap;
+import org.dromara.hutool.core.map.concurrent.SafeConcurrentHashMap;
import java.text.DateFormat;
import java.text.Format;
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/date/format/GlobalCustomFormat.java b/hutool-core/src/main/java/org/dromara/hutool/core/date/format/GlobalCustomFormat.java
index 767e49475..3265d92ef 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/date/format/GlobalCustomFormat.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/date/format/GlobalCustomFormat.java
@@ -14,7 +14,7 @@ package org.dromara.hutool.core.date.format;
import org.dromara.hutool.core.date.DateUtil;
import org.dromara.hutool.core.lang.Assert;
-import org.dromara.hutool.core.map.SafeConcurrentHashMap;
+import org.dromara.hutool.core.map.concurrent.SafeConcurrentHashMap;
import java.time.temporal.TemporalAccessor;
import java.util.Date;
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/date/format/parser/FastDateParser.java b/hutool-core/src/main/java/org/dromara/hutool/core/date/format/parser/FastDateParser.java
index b5809c2ca..3780bf2a7 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/date/format/parser/FastDateParser.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/date/format/parser/FastDateParser.java
@@ -16,7 +16,7 @@ import org.dromara.hutool.core.date.DateException;
import org.dromara.hutool.core.date.format.FastDateFormat;
import org.dromara.hutool.core.date.format.FastDatePrinter;
import org.dromara.hutool.core.date.format.SimpleDateBasic;
-import org.dromara.hutool.core.map.SafeConcurrentHashMap;
+import org.dromara.hutool.core.map.concurrent.SafeConcurrentHashMap;
import java.io.IOException;
import java.io.ObjectInputStream;
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/func/LambdaFactory.java b/hutool-core/src/main/java/org/dromara/hutool/core/func/LambdaFactory.java
index 58b25d37c..4daa2d95d 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/func/LambdaFactory.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/func/LambdaFactory.java
@@ -15,7 +15,7 @@ package org.dromara.hutool.core.func;
import org.dromara.hutool.core.exception.HutoolException;
import org.dromara.hutool.core.lang.Assert;
import org.dromara.hutool.core.lang.mutable.MutableEntry;
-import org.dromara.hutool.core.map.WeakConcurrentMap;
+import org.dromara.hutool.core.map.reference.WeakKeyConcurrentMap;
import org.dromara.hutool.core.reflect.*;
import org.dromara.hutool.core.reflect.lookup.LookupUtil;
import org.dromara.hutool.core.reflect.method.MethodTypeUtil;
@@ -37,7 +37,7 @@ public class LambdaFactory {
throw new IllegalAccessException();
}
- private static final Map, Executable>, Object> CACHE = new WeakConcurrentMap<>();
+ private static final Map, Executable>, Object> CACHE = new WeakKeyConcurrentMap<>();
/**
* 构建Lambda
diff --git a/hutool-core/src/main/java/org/dromara/hutool/core/func/LambdaUtil.java b/hutool-core/src/main/java/org/dromara/hutool/core/func/LambdaUtil.java
index e2867f216..ead7b6429 100644
--- a/hutool-core/src/main/java/org/dromara/hutool/core/func/LambdaUtil.java
+++ b/hutool-core/src/main/java/org/dromara/hutool/core/func/LambdaUtil.java
@@ -17,7 +17,7 @@ import org.dromara.hutool.core.classloader.ClassLoaderUtil;
import org.dromara.hutool.core.exception.HutoolException;
import org.dromara.hutool.core.lang.Assert;
import org.dromara.hutool.core.lang.Opt;
-import org.dromara.hutool.core.map.WeakConcurrentMap;
+import org.dromara.hutool.core.map.reference.WeakKeyConcurrentMap;
import org.dromara.hutool.core.reflect.ClassDescUtil;
import org.dromara.hutool.core.reflect.method.MethodUtil;
import org.dromara.hutool.core.reflect.ModifierUtil;
@@ -37,7 +37,7 @@ import java.util.function.*;
*/
public class LambdaUtil {
- private static final WeakConcurrentMap