判斷物件是否為空
java中我們常常需要判斷需要砍斷物件是否為空,由於我們在建立物件的時候一般會實現序列化,並且在new物件的時候無法判斷物件中所有值都是否為空,因此我們需要使用反射來實現判斷每個值是否為空。
具體實現如下:
@SuppressWarnings("rawtypes") public static boolean isAllFieldNull(Object obj) throws Exception{ Class stuCla = (Class) obj.getClass();// 得到類物件 Field[] fs = stuCla.getDeclaredFields();//得到屬性集合 boolean flag = true;
//遍歷屬性 for (Field f : fs) { f.setAccessible(true); // 設定屬性是可以訪問的(私有的也可以) if (f.getName().equals("serialVersionUID")) {//將序列化的值跳過 continue ; } Object val = f.get(obj);// 得到此屬性的值 if(val!=null) {//只要有1個屬性不為空,那麼就不是所有的屬性值都為空 flag = false; break; } } return flag; }