diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4c2608912..ac9af0774 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,6 +8,7 @@
### 新特性
### Bug修复
* 【core 】 修复NumberUtil.partValue有余数问题(issue#I1KX66@Gitee)
+* 【core 】 修复BeanUtil.isEmpty不能忽略static字段问题(issue#I1KZI6@Gitee)
-------------------------------------------------------------------------------------------------------------
## 5.3.8 (2020-06-16)
diff --git a/hutool-core/src/main/java/cn/hutool/core/bean/BeanUtil.java b/hutool-core/src/main/java/cn/hutool/core/bean/BeanUtil.java
index b3e9d17a8..ec4577ce3 100644
--- a/hutool-core/src/main/java/cn/hutool/core/bean/BeanUtil.java
+++ b/hutool-core/src/main/java/cn/hutool/core/bean/BeanUtil.java
@@ -690,6 +690,9 @@ public class BeanUtil {
final Field[] fields = ReflectUtil.getFields(bean.getClass());
for (Field field : fields) {
+ if(ModifierUtil.isStatic(field)){
+ continue;
+ }
if (ignoreFields != null && ArrayUtil.containsIgnoreCase(ignoreFields, field.getName())) {
// 不处理忽略的Fields
continue;
@@ -723,7 +726,8 @@ public class BeanUtil {
}
/**
- * 判断Bean是否为空对象,空对象表示本身为null
或者所有属性都为null
+ * 判断Bean是否为空对象,空对象表示本身为null
或者所有属性都为null
+ * 此方法不判断static属性
*
* @param bean Bean对象
* @param ignoreFiledNames 忽略检查的字段名
@@ -733,6 +737,9 @@ public class BeanUtil {
public static boolean isEmpty(Object bean, String... ignoreFiledNames) {
if (null != bean) {
for (Field field : ReflectUtil.getFields(bean.getClass())) {
+ if(ModifierUtil.isStatic(field)){
+ continue;
+ }
if ((false == ArrayUtil.contains(ignoreFiledNames, field.getName()))
&& null != ReflectUtil.getFieldValue(bean, field)) {
return false;
@@ -756,6 +763,9 @@ public class BeanUtil {
return true;
}
for (Field field : ReflectUtil.getFields(bean.getClass())) {
+ if(ModifierUtil.isStatic(field)){
+ continue;
+ }
if ((false == ArrayUtil.contains(ignoreFiledNames, field.getName()))//
&& null == ReflectUtil.getFieldValue(bean, field)) {
return true;