package com.hwqh.hwqhuser.util;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
/**
* Map转换工具类
*/
public class MapToolsUtil {
public static void main(String[] args) throws Exception{
/* User user=new User();
user.setId(1L);
Map<String, Object> stringObjectMap = javaBean2Map(user);
System.out.println(stringObjectMap);
*/
/* Map map = new HashMap();
map.put("id",1L);
map.put("nickname","你好");
User user = (User) mapJavaBean(User.class, map);
System.out.println(user.getNickname()+user.getId());*/
}
/**
* 将Object对象里面的属性和值转化成Map对象
*
* @return
* @throws IllegalAccessException
*/
public static Map<String, Object> javaBeanMap(Object javaBean) {
Map<String, Object> map = new HashMap<>();
Method[] methods = javaBean.getClass().getMethods(); // 获取所有方法
for (Method method : methods) {
if (method.getName().startsWith("get")) {
String field = method.getName(); // 拼接属性名
field = field.substring(field.indexOf("get") + 3);
field = field.toLowerCase().charAt(0) + field.substring(1);
Object value = null; // 执行方法
try {
value = method.invoke(javaBean, (Object[]) null);
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
map.put(field, value);
}
}
return map;
}
/**
* Map转对象的方法
*/
/* public static Object mapJavaBean(Class<?> clazz, Map<String, Object> map) {
Object javabean = null; // 构建对象
try {
javabean = clazz.newInstance();
Method[] methods = clazz.getMethods(); // 获取所有方法
for (Method method : methods) {
if (method.getName().startsWith("set")) {
String field = method.getName(); // 截取属性名
field = field.substring(field.indexOf("set") + 3);
field = field.toLowerCase().charAt(0) + field.substring(1);
if (map.containsKey(field)) {
method.invoke(javabean, map.get(field));
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return javabean;
} */
/**
* Map转对象的方法
*/
public static Object mapJavaBean(Class<?> clazz, Map<String, String> map) {
Object javabean = null; // 构建对象
try {
javabean = clazz.newInstance();
Method[] methods = clazz.getMethods(); // 获取所有方法
for (Method method : methods) {
if (method.getName().startsWith("set")) {
String field = method.getName(); // 截取属性名
field = field.substring(field.indexOf("set") + 3);
field = field.toLowerCase().charAt(0) + field.substring(1);
if (map.containsKey(field)) {
method.invoke(javabean, map.get(field));
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return javabean;
}
}
java工具类-Java对象转换成Map
原文作者:桃子ㅤㅤㅤㅤㅤ
原文地址: https://blog.csdn.net/qq_39505065/article/details/100704633
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
原文地址: https://blog.csdn.net/qq_39505065/article/details/100704633
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。