package com.xxx.common.util;

import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import java.lang.reflect.Field; /**
* @version 1.0.0
* @date 2021-01-15 17:53
*/
@Slf4j
public class TrimUtil {
public static void trimStringFieldInObject(Class<?> clazz, Object t) {
Field[] fields = clazz.getClass().getFields();
for (Field field : fields) {
try {
if (field.get(t) instanceof String) {
Object o = field.get(t);
String s = (String) o;
field.set(t, StringUtils.trimToEmpty(s));
}
} catch (IllegalAccessException e) {
log.warn("converting field {} error", field.getName());
}
}
}
}

https://stackoverflow.com/questions/9189520/trim-all-strings-elements-in-a-complex-object

trim-all-strings-elements-in-a-complex-object的更多相关文章

  1. Effective Java 06 Eliminate obsolete object references

    NOTE Nulling out object references should be the exception rather than the norm. Another common sour ...

  2. Post Complex JavaScript Objects to ASP.NET MVC Controllers

    http://www.nickriggs.com/posts/post-complex-javascript-objects-to-asp-net-mvc-controllers/     Post ...

  3. Go开发之路 -- strings以及strconv的使用

    strings的使用 HasPrefix 语法: strings.HasPrefix(s, prefix string) bool // 判断字符串s是否以prefix开头 // 判断一个url是否以 ...

  4. TypeError: 'range' object does not support item assignment

    TypeError: 'range' object does not support item assignment I was looking at some python 2.x code and ...

  5. python __builtins__ complex类 (13)

    13.'complex', 函数用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数.如果第一个参数为字符串,则不需要指定第二个参数. class complex(ob ...

  6. Python3基础 complex 声明复数

             Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3    ...

  7. jquery-1.11.1.js

       每次想要使用这个js时,总是要到官网上下载,太麻烦,现在把它收录了 jquery-1.11.1.js /*! * jQuery JavaScript Library v1.11.1 * http ...

  8. modern-cpp-features

    C++17/14/11 Overview Many of these descriptions and examples come from various resources (see Acknow ...

  9. 关于C#你应该知道的2000件事

    原文 关于C#你应该知道的2000件事 下面列出了迄今为止你应该了解的关于C#博客的2000件事的所有帖子. 帖子总数= 1,219 大会 #11 -检查IL使用程序Ildasm.exe d #179 ...

  10. Unity 最佳实践

    转帖:http://www.glenstevens.ca/unity3d-best-practices/ 另外可以参考:http://devmag.org.za/2012/07/12/50-tips- ...

随机推荐

  1. 树形结构体按照 sort 进行排序先按照字母排序 然后按照数字排序

    // 先按照字母排序 然后按照数字排序 function sortListByLetter(arr) { return arr.sort((a, b) => { if (isNaN(a.name ...

  2. 什么是 vite ?

    vite 是尤雨溪团队开发的新一代前端构建工具,作者尤雨溪宣传的时候表示 vite 是下一代的构建工具,并表示自己再也不会 webpack 了 : vite 的优点主要有3点 : 第一:开发环境中,无 ...

  3. 16. VUE怎么阻止冒泡

    给事件添加 stop 修饰符 ,比如 click.stop  ; 补充: 阻止默认行为 prevent 修饰符 ,超链接的跳转,表单的默认提交 : once 修饰符 事件只触发一次 ps:事件修饰符可 ...

  4. kotlin函数和Lambda表达式——>内联函数

    1.内联函数 使用高阶函数会带来一些运行时的效率损失:每一个函数都是一个对象,并且会捕获一个闭包.即那些 在函数体内会访问到的变量.内存分配(对于函数对象和类)和虚拟调用会引入运行时间开销. 但是在许 ...

  5. springboot admin 整合nacos,context-path问题

    1.在使用springboot admin 整合nacos时发现问题,springboot admin server访问admin client的默认地址为http://ip:port/actuato ...

  6. 使用zipkin配置spring boot的链路器(httpclient、restTemplate)

    一.首先导入zipkin需要的依赖 <!--zipkin-brave start--> <dependency> <groupId>io.zipkin.brave& ...

  7. KubeSphere 宣布开源 Thanos 的企业级发行版 Whizard

    日前,青云科技宣布开源 Thanos 的企业级发行版 Whizard,为企业带来真正高可用.可扩展.可存储与查询海量监控数据.易运维.安全的 Prometheus 长期存储方案. Prometheus ...

  8. 如何使用 GoGoCode 一键 Vue2 转换 Vue3

    前言 从今年年初开始,项目开始升级优化,将之前的 Vue2 旧版本整体升级到 Vue3 版本.在重写了几个 Vue 文件后,我发现做的都是一些机械性的工作,效率低且重复性大.于是就试着搜索了一下有没有 ...

  9. CSS修改鼠标样式

    CSS可以修改鼠标样式,即将鼠标移到元素上时,自动切换为其他样式或者自定义图片. 设置属性cursor为各种鼠标形态(把鼠标移到标签上看效果): 标签 对应形态 auto 自动选择 crosshair ...

  10. 文件操作(C语言)

    1. 为什么使用文件? 如果没有文件,我们写的程序的数据是存储在电脑的内存中,如果程序退出,内存回收,数据就丢失了,等再次运行程序,是看不到上次程序的数据的,如果要将数据进行持久化的保存,我们可以使用 ...