大家好,又见面了,我是你们的朋友全栈君。
1 map 转 对象
map中value的值类型 一定要和 对象中的属性一致
public class Test {
/**
* @param map
* @param bean 泛型类
* @param <T>
* @return
*/
public static <T> T mapToBean(Map<String, Object> map, T bean) {
BeanMap beanMap = BeanMap.create(bean);
beanMap.putAll(map);
return bean;
}
public static void main(String[] args) {
Brush brush = new Brush();
Map map = new HashMap<String, Object>();
// 注意类型 字符串是没关系的
map.put("shopName","张三的店");
// 一定要是LocalDate
map.put("date", LocalDate.now());
// 一定要是Long
map.put("shopId",1L);
System.out.println(mapToBean(map,brush).getShopName());
System.out.println(mapToBean(map,brush).getDate());
System.out.println(mapToBean(map,brush).getShopId());
}
}
张三的店
2021-04-30
1
2 对象 转 map
public class Test {
/**
* @param bean
* @param <T>
* @return
*/
public static <T> Map<String, Object> beanToMap(T bean) {
Map<String, Object> map = Maps.newHashMap();
if (bean != null) {
BeanMap beanMap = BeanMap.create(bean);
for (Object key : beanMap.keySet()) {
map.put(key + "", beanMap.get(key));
}
}
return map;
}
public static void main(String[] args) {
Brush brush = new Brush();
brush.setShopName("李四的店");
brush.setShopId(2L);
brush.setDate(LocalDate.now());
Map<String, Object> map = beanToMap(brush);
System.out.println(map.get("shopName"));
System.out.println(map.get("shopId"));
System.out.println(map.get("date"));
}
}
李四的店
2
2021-04-30
两个方法mapToBean()和beanToMap()直接copy过去就能用,map转对象的时候一定要注意值类型
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/131490.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...