java反射机制的应用--去除实体属性值中空格(或换行符)

参考

https://blog.csdn.net/weixin_32285411/article/details/114147132
https://www.cnblogs.com/yangshus/p/13645425.html

使用hutool工具类ReflectUtil实现

package com.sinosoft.springbootplus.commom.util;

import cn.hutool.core.util.ReflectUtil;
import org.apache.commons.lang3.StringUtils;

import java.lang.reflect.Field;

/**
 * 
 * 去除数据中空格及换行
 * 
*/
public class TrimBeanUtil { /** * String类型 CanonicalName */ private static final String STRING_TYPE_NAME = "java.lang.String"; /** * 去除实体中属性值空格及换行 * @param object 实体属性 */ public static void trimData(Object object) { // 获取实体中所有属性字段 Field[] fields = ReflectUtil.getFields(object.getClass()); for (Field field : fields) { // 获取属性字段类型 String canonicalName = field.getType().getCanonicalName(); // 如果字段是String类型,则去除此字段数据的空格 if (STRING_TYPE_NAME.equals(canonicalName)) { // 获取字段值 String fieldValue = (String) ReflectUtil.getFieldValue(object, field); if (StringUtils.isNotBlank(fieldValue)) { // 去掉换行 String fieldValueStr = fieldValue.replaceAll("\r|\n", ""); // 将去除空格后的数据 替换 原数据 ReflectUtil.setFieldValue(object, field, fieldValueStr.trim()); } } } } }

你可能感兴趣的:(反射,java)