java中判斷物件中屬性值是否為空
阿新 • • 發佈:2019-01-08
最近遇到後臺接收值的時候,需要對接收物件進行非空校驗,第一時間想到的就是寫一堆的if判斷,但是仔細想了想,如果欄位的屬性太多,需要寫大量的if判斷,並且方法也不能夠重用,所以,就搜尋了相關資料看看有沒有通用的方法來實現,現將方法記錄如下:
思路是,使用java中的反射機制,來獲取物件的屬性清單,進而獲取該屬性的值。
具體實現如下:
public boolean checkObjFieldIsNull(Object obj) throws IllegalAccessException { boolean flag = false; for(Field f : obj.getClass().getDeclaredFields()){ f.setAccessible(true); log.info(f.getName()); if(f.get(obj) == null){ flag = true; return flag; } } return flag; }