反射修改对象列表里对象的字段值

记录一下,通过反射修改对象列表里对象的字段值。
后端接口调用大数据的接口,大数据返回的数据没有处理,有些字段是 "空","null", 这样的类型,需要处理一下,要是一个一个字段的去替换,如果字段太多很麻烦,所以用反射

/**
* 处理大数据接口返回数据里面字段的 "空","null" 值, 转换为 ""
* @param list 要处理的数据集合
* @param <T> 返回的数据集合
* @return
*/
public static  <T> List replaceBlankValue(List<T> list){
   if (!CollectionUtils.isEmpty(list)){
       for (T item : list) {
           //获取所有字段 除serialVersionUID
           Field[] fields = item.getClass().getDeclaredFields();
           for (Field field : fields) {
               field.setAccessible(true);
               String fieldName = field.getName();
               if ("serialVersionUID".equals(fieldName)){
                   continue;
               }
               try {
                   //获取字段值
                   Object s = field.get(item);
                   if (ObjectUtils.isNotNull(s)){
                       String s1 = s.toString();
                       if (StringUtils.isNotEmpty(s1) && ("空".equals(s1) || "null".equalsIgnoreCase(s1))){
                           //设置字段值为 ""
                           field.set(item,"");
                       }
                   }
               } catch (IllegalAccessException e) {
                   e.printStackTrace();
               }
           }
       }
   }
   return list;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值