校驗新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是否有值