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转对象的时候一定要注意值类型