天天看點

校驗new 對象是否為空

校驗新new 對象/ PO/ 等實體對象 是否為空

// 建立實體對象
public class IscUser {

    private String iscId;

    private String rymc;

    private String ssbmid;

}
           
// 建立main方法測試
import java.lang.reflect.Field;

public class Test {

    public static void main(String[] args) {
        IscUser iscUser = new IscUser();
        boolean b = objCheckIsNull(iscUser);
        System.out.println("---------" + b);
    }

    public static boolean objCheckIsNull(Object object) {
        Class clazz = (Class) object.getClass();
        Field fields[] = clazz.getDeclaredFields();
        boolean flag = true;
        for (Field field : fields) {
            field.setAccessible(true);
            Object fieldValue = null;
            try {
                fieldValue = field.get(object);
            } catch (Exception e) {
                e.printStackTrace();
                if (fieldValue != null) {
                    flag = false;
                    break;
                }
            }
        }
        return flag;
    }
}

           
// 測試結果
20:20:20: Executing task 'Test.main()'...

> Task :wrapper

BUILD SUCCESSFUL in 0s
1 actionable task: 1 executed
> Task :compileJava
> Task :processResources NO-SOURCE
> Task :classes

> Task :Test.main()
---------true

Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.2.1/userguide/command_line_interface.html#sec:command_line_warnings

BUILD SUCCESSFUL in 0s
2 actionable tasks: 2 executed
20:20:21: Task execution finished 'Test.main()'.
           

測試結果傳回為True 使用于某些場景下要判斷Vo是否有值