/**
* String 类型属性,值为null时,转换为空串("")
* */
public void nullConvertToEmpty(List<Patient> data) throws Exception{
try {
for(Patient patient:data){
Field[] fileds = patient.getClass().getDeclaredFields();//获取所有属性
for(Field field : fileds){
String attributeName = field.getName();//获取属性名
String methodName=attributeName.substring(0,1).toUpperCase()+attributeName.substring(1);
Method getMethod=Patient.class.getMethod("get"+methodName);//构造getter方法
Object attributeValue = getMethod.invoke(patient);//通过getter方法取值
if(attributeValue == null && field.getGenericType().toString().equals("class java.lang.String")){
Method setMethod=Patient.class.getMethod("set"+methodName,String.class);//构造setter方法
setMethod.invoke(patient,"");//通过setter方法为属性重新赋值
}
}
}
}catch (Exception e){
throw new Exception();
}
}
遍历Patient对象的所有属性,当属性类型为String且值为null时,替换会空字符串。