码迷,mamicode.com
首页 > 编程语言 > 详细

java反射实现前端接收实体对象,去除“null”字符串

时间:2018-06-01 19:41:01      阅读:459      评论:0      收藏:0      [点我收藏+]

标签:学习工具总结

从前台输入的的json 格式数据。转换成对应的实体类后。 可能会出现把null 转换成“null”字符串。这样的数据在存入数据库是可能会因为数据格式,存入时会有问题。实体字段多,修改有很麻烦。所以需要统一编辑处理下。

实体类
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 + "]";
}

}

数据转换类

/**
 * 把vo类中String类型的参数的null值或"NULL","null"转化成空字符串
 * @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()){
            // 属性参数值首字母转成大写
            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;
}

java反射实现前端接收实体对象,去除“null”字符串

标签:学习工具总结

原文地址:http://blog.51cto.com/11232071/2123225

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!