diff --git a/hutool-core/src/main/java/cn/hutool/core/bean/BeanDescCache.java b/hutool-core/src/main/java/cn/hutool/core/bean/BeanDescCache.java
index d1eaa920a..b41d030c2 100644
--- a/hutool-core/src/main/java/cn/hutool/core/bean/BeanDescCache.java
+++ b/hutool-core/src/main/java/cn/hutool/core/bean/BeanDescCache.java
@@ -6,8 +6,8 @@ import cn.hutool.core.lang.func.Func0;
/**
* Bean属性缓存
* 缓存用于防止多次反射造成的性能问题
- * @author Looly
*
+ * @author Looly
*/
public enum BeanDescCache {
INSTANCE;
@@ -16,12 +16,22 @@ public enum BeanDescCache {
/**
* 获得属性名和{@link BeanDesc}Map映射
+ *
* @param beanClass Bean的类
- * @param supplier 对象不存在时创建对象的函数
+ * @param supplier 对象不存在时创建对象的函数
* @return 属性名和{@link BeanDesc}映射
* @since 5.4.2
*/
- public BeanDesc getBeanDesc(Class> beanClass, Func0 supplier){
+ public BeanDesc getBeanDesc(Class> beanClass, Func0 supplier) {
return bdCache.get(beanClass, supplier);
}
+
+ /**
+ * 清空全局的Bean属性缓存
+ *
+ * @since 5.7.21
+ */
+ public void clear() {
+ this.bdCache.clear();
+ }
}
diff --git a/hutool-core/src/main/java/cn/hutool/core/bean/BeanInfoCache.java b/hutool-core/src/main/java/cn/hutool/core/bean/BeanInfoCache.java
index af9b83a54..7a950ba0c 100644
--- a/hutool-core/src/main/java/cn/hutool/core/bean/BeanInfoCache.java
+++ b/hutool-core/src/main/java/cn/hutool/core/bean/BeanInfoCache.java
@@ -56,6 +56,16 @@ public enum BeanInfoCache {
getCache(ignoreCase).put(beanClass, fieldNamePropertyDescriptorMap);
}
+ /**
+ * 清空缓存
+ *
+ * @since 5.7.21
+ */
+ public void clear() {
+ this.pdCache.clear();
+ this.ignoreCasePdCache.clear();
+ }
+
/**
* 根据是否忽略字段名的大小写,返回不用Cache对象
*