JavaBean和Map直接转换,方便封装RequestParams请求体

通过反射的方式比通过转json再转的方式耗时少很多,代码如下

public static Map objectToMap(Object obj) throws Exception {
    if (obj == null) {
        return null;
    }
    Map map = new HashMap();
  Field[] declaredFields = obj.getClass().getDeclaredFields();
    for (Field field : declaredFields) {
        field.setAccessible(true);
        map.put(field.getName(), field.get(obj));
    }
 
    return map;
}

mab转换为bean


public static Object mapToObject(Map map, Class beanClass) throws IllegalAccessException, InstantiationException {
    if (map == null){
        return null;
    }
        
    Object obj = beanClass.newInstance();
 
    Field[] fields = obj.getClass().getDeclaredFields();
    for (Field field : fields) {
        int mod = field.getModifiers();
        if (Modifier.isStatic(mod) || Modifier.isFinal(mod)) {
            continue;
        }
 
        field.setAccessible(true);
        field.set(obj, map.get(field.getName()));
    }
 
    return obj;
}

你可能感兴趣的:(JavaBean和Map直接转换,方便封装RequestParams请求体)