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));
    }
}

 

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

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

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


相关推荐

  • strncpy和strcpy区别_C语言strncpy

    strncpy和strcpy区别_C语言strncpyDefinedinheader <string.h>char *strncpy( char *dest, const ch

    2022年8月3日
    5
  • c++ 线程间通信方式「建议收藏」

    c++ 线程间通信方式「建议收藏」线程同步和线程互斥互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的,线程间不需要知道彼此的存在。同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问,线程间知道彼此的存在。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源线程…

    2022年10月7日
    3
  • js数组删除指定元素splice_js找出数组中最大的数

    js数组删除指定元素splice_js找出数组中最大的数js自带删除元素方法有:1.splice方法//获取元素在数组的下标Array.prototype.indexOf=function(val){ for(vari=0;i<this.length;i++){ if(this[i]==val) { returni; }; } return-1;};//根据数组的下标,删除该下…

    2022年10月1日
    4
  • Camunda流程引擎快速入门——Hello World示例

    Camunda流程引擎快速入门——Hello World示例一、准备工作请确保您安装了Java运行时环境8+。你可以使用终端、shell或命令行来验证:java–version二、安装部署Camunda下载camunda-bpm7.15稳定版。https://downloads.camunda.cloud/release/camunda-bpm/run/7.15/CamundaPlatformRun是CamundaPlatform的预打包发行版,包括Camundawebapps(Cockpit,Tasklist,Admin),RE

    2022年10月19日
    1
  • Oracle、plsql安装以及使用教程「建议收藏」

    Oracle、plsql安装以及使用教程「建议收藏」Oracle安装Oracle(11g)数据库安装详细图解教程plsql安装PLSQL下载、安装、配置、连接详细教程创建数据库注意略过关于监听配置的所有部分Oracle创建数据库实例plsql连接数据库如下所示,按照上述步骤完成安装创建之后,只需要在database前面加个127.0.0.1/你创建的数据库即可建表点击file->new->table之后根据需要创建数据库即可…

    2022年5月30日
    40
  • 关于 HikariPool-1 – Starting… 启动问题

    关于 HikariPool-1 – Starting… 启动问题问题今天开了一台新的阿里云服务器,启动Docker容器内的Springboot程序,数据库(阿里云的)一直死活连不上去。2020-12-0114:39:56.178INFO[svc-activity,,,]8—[main]com.zaxxer.hikari.HikariDataSource:HikariPool-1-Starting…2020-12-0114:49:57.493ERROR[svc-activity,,,]8-

    2022年6月23日
    342

发表回复

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

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