fix bean bug

This commit is contained in:
Looly
2020-06-18 15:24:50 +08:00
parent f108b91e0c
commit 9d02dcd5d8
2 changed files with 12 additions and 1 deletions

View File

@@ -8,6 +8,7 @@
### 新特性 ### 新特性
### Bug修复 ### Bug修复
* 【core 】 修复NumberUtil.partValue有余数问题issue#I1KX66@Gitee * 【core 】 修复NumberUtil.partValue有余数问题issue#I1KX66@Gitee
* 【core 】 修复BeanUtil.isEmpty不能忽略static字段问题issue#I1KZI6@Gitee
------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------
## 5.3.8 (2020-06-16) ## 5.3.8 (2020-06-16)

View File

@@ -690,6 +690,9 @@ public class BeanUtil {
final Field[] fields = ReflectUtil.getFields(bean.getClass()); final Field[] fields = ReflectUtil.getFields(bean.getClass());
for (Field field : fields) { for (Field field : fields) {
if(ModifierUtil.isStatic(field)){
continue;
}
if (ignoreFields != null && ArrayUtil.containsIgnoreCase(ignoreFields, field.getName())) { if (ignoreFields != null && ArrayUtil.containsIgnoreCase(ignoreFields, field.getName())) {
// 不处理忽略的Fields // 不处理忽略的Fields
continue; continue;
@@ -723,7 +726,8 @@ public class BeanUtil {
} }
/** /**
* 判断Bean是否为空对象空对象表示本身为<code>null</code>或者所有属性都为<code>null</code> * 判断Bean是否为空对象空对象表示本身为<code>null</code>或者所有属性都为<code>null</code><br>
* 此方法不判断static属性
* *
* @param bean Bean对象 * @param bean Bean对象
* @param ignoreFiledNames 忽略检查的字段名 * @param ignoreFiledNames 忽略检查的字段名
@@ -733,6 +737,9 @@ public class BeanUtil {
public static boolean isEmpty(Object bean, String... ignoreFiledNames) { public static boolean isEmpty(Object bean, String... ignoreFiledNames) {
if (null != bean) { if (null != bean) {
for (Field field : ReflectUtil.getFields(bean.getClass())) { for (Field field : ReflectUtil.getFields(bean.getClass())) {
if(ModifierUtil.isStatic(field)){
continue;
}
if ((false == ArrayUtil.contains(ignoreFiledNames, field.getName())) if ((false == ArrayUtil.contains(ignoreFiledNames, field.getName()))
&& null != ReflectUtil.getFieldValue(bean, field)) { && null != ReflectUtil.getFieldValue(bean, field)) {
return false; return false;
@@ -756,6 +763,9 @@ public class BeanUtil {
return true; return true;
} }
for (Field field : ReflectUtil.getFields(bean.getClass())) { for (Field field : ReflectUtil.getFields(bean.getClass())) {
if(ModifierUtil.isStatic(field)){
continue;
}
if ((false == ArrayUtil.contains(ignoreFiledNames, field.getName()))// if ((false == ArrayUtil.contains(ignoreFiledNames, field.getName()))//
&& null == ReflectUtil.getFieldValue(bean, field)) { && null == ReflectUtil.getFieldValue(bean, field)) {
return true; return true;