• java 对象参数去空格方式


    import java.lang.reflect.Field;
    import java.lang.reflect.Method;
    
    public class Test {
    
        /**
         * 去掉bean中所有属性为字符串的前后空格
         *
         * @param bean
         * @throws Exception
         */
        public static void beanAttributeValueTrim(Object bean) throws Exception {
            if (bean != null) {
                //获取所有的字段包括public,private,protected,private
                Field[] fields = bean.getClass().getDeclaredFields();
                for (int i = 0; i < fields.length; i++) {
                    Field f = fields[i];
                    if (f.getType().getName().equals("java.lang.String")) {
                        String key = f.getName();
                        //获取字段名
                        Object value = getFieldValue(bean, key);
    
                        if (value == null)
                            continue;
    
                        setFieldValue(bean, key, value.toString().trim());
                    }
                }
            }
        }
    
        /**
         * 利用反射通过get方法获取bean中字段fieldName的值
         *
         * @param bean
         * @param fieldName
         * @return
         * @throws Exception
         */
        private static Object getFieldValue(Object bean, String fieldName)
                throws Exception {
            StringBuffer result = new StringBuffer();
            String methodName = result.append("get")
                    .append(fieldName.substring(0, 1).toUpperCase())
                    .append(fieldName.substring(1)).toString();
    
            Object rObject = null;
            Method method = null;
    
            @SuppressWarnings("rawtypes")
            Class[] classArr = new Class[0];
            method = bean.getClass().getMethod(methodName, classArr);
            rObject = method.invoke(bean, new Object[0]);
    
            return rObject;
        }
    
        /**
         * 利用发射调用bean.set方法将value设置到字段
         *
         * @param bean
         * @param fieldName
         * @param value
         * @throws Exception
         */
        private static void setFieldValue(Object bean, String fieldName, Object value)
                throws Exception {
            StringBuffer result = new StringBuffer();
            String methodName = result.append("set")
                    .append(fieldName.substring(0, 1).toUpperCase())
                    .append(fieldName.substring(1)).toString();
    
            //利用反射调用bean.set方法将value设置到字段
            @SuppressWarnings("rawtypes")
            Class[] classArr = new Class[1];
            classArr[0] = "java.lang.String".getClass();
            Method method = bean.getClass().getMethod(methodName, classArr);
            method.invoke(bean, value);
        }
    
    }
  • 相关阅读:
    剑桥雅思写作高分范文ESSAY81
    maven安装配置
    IntelliJ IDEA 2017.3.1安装步骤
    Git基本命令整理
    jacoco覆盖率工具测试及性能分析
    OSGI框架
    查看指定库对应GCC版本
    普元eos、soa、esb
    emp架构
    jar包安装到本地仓库
  • 原文地址:https://www.cnblogs.com/huzi007/p/11586093.html
Copyright © 2020-2023  润新知