判斷一個變數所有成員變數是否為空,不知道寫的對不對,求各位網友幫我找bug

huaweitman發表於2016-11-16
不知道寫的對不對,求各位網友幫我找bug

/**
 * 校驗入口引數
 * 變數型別 Byte Short Integer Long 不為空 String 不為空且不為空字串
 * 不檢查從父類繼承過來的成員變數
 * @param entryParam 入參物件
 * @return 引數是否符合要求
 */
@Override
public boolean validateEntryParam(Object entryParam) {
    //物件為空,直接返回false
    if (null == entryParam) {
        return false;
    }
    //判斷entryParam物件各個變數是否為空,有一個為空則返回false
    for (Field f : entryParam.getClass().getDeclaredFields()) {
        try {
            //變數設定為可獲取
            f.setAccessible(true);
            Object toMemberMsgVoField = f.get(entryParam);
            //如果是字串,如果為空或者是空字串,返回false
            if (toMemberMsgVoField instanceof String) {
                if (StringUtils.isBlank((String) toMemberMsgVoField)) {
                    return false;
                }
            }
            //不是字串,為空的話直接返回false
            if (toMemberMsgVoField == null) {
                return false;
            }
        } catch (Exception e) {
            //異常情況直接返回false
            return false;
        }
    }
    return true;
}

            

相關文章