Java对象转Map,Map转对象

Java对象转Map,Map转对象1map转对象map中value的值类型一定要和对象中的属性一致publicclassTest{/***@parammap*@parambean泛型类*@param<T>*@return*/publicstatic<T>TmapToBean(Map<String,Object>map,Tbean){BeanMapbean

大家好,又见面了,我是你们的朋友全栈君。

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账号...

(0)


相关推荐

  • unittest测试框架组成_unittest接口自动化

    unittest测试框架组成_unittest接口自动化一、unittest简介unittest是python的单元测试框架。unittest单元测试提供了创建测试用例,测试套件以及批量执行的方案,unittest在安装pyhton以后就直接自带了,直接importunittest就可以使用。作为单元测试的框架,unittest也是可以对程序最小模块的一种敏捷化的测试。在自动化测试中,我们虽然不需要做白盒测试,但是必须需要知道所使用语言的单元测试框架。利用单元测试框架,创建一个类,该类继承unittest的TestCase,这样可以把每

    2022年10月14日
  • Memcache知识点梳理

    Memcache知识点梳理

  • Open-E DSS V7 应用系列之七 卷组和卷的管理

    Open-E DSS V7 应用系列之七 卷组和卷的管理

  • 2022新UI美观发卡网源码下载+功能强大且齐全

    2022新UI美观发卡网源码下载+功能强大且齐全正文:程序没有更多的介绍,总的来说就是2022最新版本的,美观功能齐全无BUG,上传程序后,运行目录public,伪静态thinkPHP,域名/install.php进行安装,就是这么简单哈,程序没有马赛克的演示图我就放压缩包了,大家自行去查看吧。程序:lanzou.com/ieWX005hj7dc图片:…

  • linux系统休眠唤醒_centos休眠后怎么唤醒

    linux系统休眠唤醒_centos休眠后怎么唤醒背景介绍:睡眠/唤醒是嵌入式Linux非常重要的组成部分,因为优秀的睡眠唤醒机制可以是嵌入式设备尽可能的进入休眠状态,来延长电池的续航时间(这在移动终端消费类电子设备中是非常重要和有意义的!!)。但标准的Linux睡眠唤醒机制有其自身的一些缺陷(所有模块必须同时睡下或者唤醒),在某些情况下,这会导致能耗的白白浪费。因此Android在标准Linux睡眠唤醒的机制上作了新的改动(wake_lock唤…

  • Java中如何输入一个数组「建议收藏」

    Java中如何输入一个数组「建议收藏」第一种方法:(不限制输入数组的长度)System.out.println(“请输入几个数并用逗号隔开:”);Scannersc=newScanner(System.in);Stringstr=sc.next().toString();String[]arr=str.split(“,”);int[]b=newint[arr.length];for(intj=0;j<b.length;j++){b[j]=Integ

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号