Java 判断对象是否所有属性为空,大家觉得这样写可以吗?

createh51周前 (03-06)技术教程2

序言:在开发Excel数据导入的时候,后台拿到Excel中的数据并接收到List泛型集合中,发现有很多对象的属性全部为null,想通过代码将这些无效的数据给过滤掉,下面是过滤的具体操作。

ObjectUtil工具类

import java.util.*;
import java.lang.reflect.Field;

public class ObjectUtil {
    /**
     * 判断该对象是否所有属性为空
     * 返回ture表示所有属性为null,返回false表示不是所有属性都是null
     */
    public static boolean isAllFieldNull(Object object) {
        boolean flag = true;

        Class clazz = object.getClass();
        Field[] fields = clazz.getDeclaredFields();

        for (Field field : fields) {
            //设置属性是可以访问的(私有的也可以)
            field.setAccessible(true);
            Object value = null;
            try {
                value = field.get(object);
                // 只要有1个属性不为空,那么就不是所有的属性值都为空
                if (value != null) {
                    flag = false;
                    break;
                }
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            }
        }

        return flag;
    }
}


路漫漫其修远兮,吾将上下而求索

译文:在追寻真理方面,前方的道路还很漫长,但我将百折不挠,不遗余力地去追求和探索。


如果您有什么好的想法与方法,欢迎在评论区留言,我们一起讨论~

相关文章

java8之Optional 判空,简化判空操作

导语在没有用Optional判空之前,你是否也像下面的代码一样判空呢?如果是,请往下看,Optional 相对传统判空的优势。传统阶层判空为什么要用Optional,它到底是什么东西你也看到了上面的那...

Java中的空指针怎么处理?

#暑期创作大赛#Java程序员工作中遇到最多的错误就是空指针异常,无论你多么细心,一不留神就从代码的某个地方冒出NullPointerException,令人头疼。1. 对象设置默认值Object o...

java catch 空指针异常_关于Java:捕获空指针异常

我想问的是有关Java的多数知识,但我想它适用于许多语言。考虑,if(myVariable==null){doSomethingAboutIt();}else carryOn(myVariable);...

java 中如何避免空指针

在Java中,空指针异常(NullPointerException)是常见的运行时异常,通常是因为在对一个空对象(null)进行方法调用、字段访问等操作时引起的。为了避免空指针异常,可以采取以下几种方...

告别空指针-Kotlin这一点把Java比下去了

写Java的各位想必没少被空指针异常(NullpointException)困扰,但在Kotlin中,我们终于可以跟它Say Goodbye了。严格来说,Kotlin中不是消灭了空指针异常,而是通过更...