Java对象转换Map(工具类)[通俗易懂]

Java对象转换Map(工具类)[通俗易懂]/***@Description//TODOMap工具类*@Date2020/5/79:54*@Authorhuangwb**/publicclassMapUtils{/***@returnvoid*@Authorhuangwb*@Description//TODO对象转换成map*…

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

/**
 * @Description //TODO Map工具类
 * @Date 2020/5/7 9:54
 * @Author huangwb
 **/
public class MapUtils {
    /**
     * @return void
     * @Author huangwb
     * @Description //TODO 对象转换成map
     * @Date 2020/5/7 9:56
     * @Param [t 对象,ignoreFields 忽略字段]
     **/
    public static <T> Map<String, Object> objectToMap(T t, String... ignoreFields) {
        Map<String, Object> map = new HashMap<>();
        Field[] declaredFields = t.getClass().getDeclaredFields();
        List<String> ignoreFieldList = Arrays.asList(ignoreFields);
        Arrays.stream(declaredFields).forEach(data -> {
            data.setAccessible(true);
            try {
                if (ignoreFieldList.isEmpty() || !ignoreFieldList.contains(data.getName())) {
                    map.put(data.getName(), data.get(t));
                }
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            }
        });
        return map;
    }

    public static void main(String[] args) {
        TUserInfo tUserInfo = new TUserInfo();
        tUserInfo.setId("susisda");
        tUserInfo.setUserName("susisda");
        tUserInfo.setCreateTime(new Date());
        Map<String, Object> map = objectToMap(tUserInfo);
        System.out.println(JSON.toJSONString(map));
    }
}

 

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/133630.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • python for循环语句用法_python中for语句

    python for循环语句用法_python中for语句这篇文章主要介绍了Python中for循环的使用,来自于IBM官方网站技术文档,需要的朋友可以参考下for循环本系列前面“探索Python,第5部分:用Python编程”一文讨论了if语句和while循环,讨论了复合语句以及适当缩进Python语句来指示相关Python代码块。该文的结尾介绍了Pythonfor循环。但就其使用和功能来说,for循环更值得关注…

  • 分布式文件存储—fastDFS

    分布式文件存储—fastDFS简单了解:•FastDFS是一个轻量级的开源分布式文件系统•解决了大容量文件存储和高并发访问的问题,文件存取时实现了负载均衡•FastDFS实现了软件方式的RAID,可以使用廉价的IDE硬盘进行存储•支持存储服务器在线扩容•支持相同内容的文件只保存一份,节约磁盘空间,配合FastDHT进行文件上传去重•特别适合大中型网站使用,用来存储资源文件(图片,文档,音频,

  • 浏览器visibilitychange事件

    浏览器visibilitychange事件1.项目中,从一个页面进入到另一个页面,然后在这个页面做一些修改后返回到第一个页面,这个时候第一个页面没有刷新只类似tab切换,所以用户的修改未生效。使用html的浏览器事件visibilitychange2.此事件已经得到了广泛应用,但是一些老版本的浏览器需要加相应的前缀3.微信内置的浏览器因为没有标签,所以不会触发该事件手机端直接按Home键回到桌面,也不会触发该事…

  • MANIFEST.MF文件(PDB文件)

    打开Java的JAR文件我们经常可以看到文件中包含着一个META-INF目录, 这个目录下会有一些文件,其中必有一个MANIFEST.MF,这个文件描述了该Jar文件的很多信息,下面将详细介绍MANIFEST.MF文件的内 容,先来看struts.jar中包含的MANIFEST.MF文件内容:Manifest-Version:1.0Created-By:ApacheAnt 1.5.1…

  • phpstom 2022.01.13 激活[最新免费获取]2022.01.28[通俗易懂]

    (phpstom 2022.01.13 激活)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~G…

  • Android微信撤回消息如何恢复?「建议收藏」

    Android微信撤回消息如何恢复?「建议收藏」2019新年已经在向我们招手,马上就是春节啦!小编提前在这里给大家拜个早年!今天给大家带来年底最后一篇技术文章,祝大家新的一年在电子数据取证工作上势如破“猪”!在日常办案过程中,技术人员常会处理有关微信聊天数据的恢复工作。其中有一类消息比较特殊,那就是撤回消息,它不属于删除消息,但是形式却与删除消息类似,亦即被撤回之后的消息也是不可见的,并且很难被提取。在这篇文章中,我们就对Android撤…

发表回复

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

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