最近遇到后台接收值的時候,需要對接收對象進行非空校驗,第一時間想到的就是寫一堆的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; }