java 对象参数去空格方式

匿名 (未验证) 提交于 2019-12-02 21:52:03
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);     }  }

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!