溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java反射實現(xiàn)前端接收實體對象,去除“null”字符串

發(fā)布時間:2020-08-16 04:21:09 來源:網(wǎng)絡(luò) 閱讀:5045 作者:飛鳥如林 欄目:開發(fā)技術(shù)

從前臺輸入的的json 格式數(shù)據(jù)。轉(zhuǎn)換成對應的實體類后。 可能會出現(xiàn)把null 轉(zhuǎn)換成“null”字符串。這樣的數(shù)據(jù)在存入數(shù)據(jù)庫是可能會因為數(shù)據(jù)格式,存入時會有問題。實體字段多,修改有很麻煩。所以需要統(tǒng)一編輯處理下。

實體類
package com.tansun.ider.model.vo;

public class XXXXVO {
private String returnCode;
private String customerNo;
public String getReturnCode() {
return returnCode;
}
public void setReturnCode(String returnCode) {
this.returnCode = returnCode;
}
public String getCustomerNo() {
return customerNo;
}
public void setCustomerNo(String customerNo) {
this.customerNo = customerNo;
}

@Override
public String toString() {
    return "XXXXVO [returnCode=" + returnCode + ", customerNo=" + customerNo + "]";
}

}

數(shù)據(jù)轉(zhuǎn)換類

/**
 * 把vo類中String類型的參數(shù)的null值或"NULL","null"轉(zhuǎn)化成空字符串
 * @param obj
 * @return
 */
public static Object getReflectObjectTransString(Object obj) throws Exception{
    Class<? extends Object> classz = obj.getClass();
    Field[] fields=classz.getDeclaredFields();
    for(Field field:fields){
        if(String.class == field.getType()){
            // 屬性參數(shù)值首字母轉(zhuǎn)成大寫
            char[] cs=(field.getName()).toCharArray();
            cs[0]-=32;
            String methodGetName = "get"+String.valueOf(cs);
            String methodSetName = "set"+String.valueOf(cs);
            Method getMethod = classz.getMethod(methodGetName, null);
            Method setMethod = classz.getMethod(methodSetName, String.class);
            Object value = getMethod.invoke(obj, null);
            if(null == value || "NULL".equals((String)value) || "null".equals((String)value))
            {
                setMethod.invoke(obj, "");
            }
        }
    }   
    return obj;
}
向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI