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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131490.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 文件和文件流

    文件和文件流文件和文件流1.File类Java.io.File类可以获取文件以及文件夹的一些基本的属性常用的方法文件名称,路径,大小,判断是否存在,删除,创建//创建一个文件对象(可以是文件,可以是文件夹) Filefile=newFile(“e:/java_text.txt”); //基本属性 booleancanWriter=file.canWrite(); …

    2025年8月5日
    3
  • Web Worker详解

    Web Worker详解WebWorker1.WebWorker概述最近在看一些关于WebWorker的数据和视频,把以下重点分享给大家(推荐有基础的小伙伴收藏)客户端JavaScript其中一个基本的特性就是单线程,比如浏览器无法同时运行两个事件处理程序,也无法在一个事件处理程序运行的时候触发定时器。之所以设置单线程的理论就是,客户端的JavaScript的函数不能运行太长时间,否则会导致循环事件,…

    2025年5月22日
    4
  • Android SDK下载失败解决[通俗易懂]

    Android SDK下载失败解决[通俗易懂]安装androidstudio的时候遇到了这个问题。解决方法是使用andoridsdk的中国在线更新地址可以到这个网站找服务器地址http://www.androiddevtools.cn/启动AndroidSDKManager,打开主界面,依次选择『Tools』、『Options…』,弹出『AndroidSDKManager-Settings』窗口;在…

    2022年7月19日
    24
  • MySQL常用SQL语句大全

    MySQL常用SQL语句大全MySQL数据库是一个十分轻便的数据库管理系统,相比大型的数据库管理系统如Oracle、MS-SQL,MySQL更拥有轻便、灵活、开发速度快的特色,更适用于中小型数据的存储与架构。MySQL之所以能够被数以万计的网站采用,也是由此而来。

    2022年6月13日
    25
  • Scikit中的特征选择,XGboost进行回归预测,模型优化的实战

    Scikit中的特征选择,XGboost进行回归预测,模型优化的实战前天偶然在一个网站上看到一个数据分析的比赛(sofasofa),自己虽然学习一些关于机器学习的内容,但是并没有在比赛中实践过,于是我带着一种好奇心参加了这次比赛。赛题:足球运动员身价估计比赛概述本比赛为个人练习赛,主要针对于于数据新人进行自我练习、自我提高,与大家切磋。练习赛时限:2018-03-05至2020-03-05任务类…

    2022年4月28日
    55
  • phpsotrm 2021.4 激活破解方法

    phpsotrm 2021.4 激活破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    133

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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