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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ArcGIS实验教程:ArcGIS 10.2手把手图文安装教程(经典版)「建议收藏」

    ArcGIS实验教程:ArcGIS 10.2手把手图文安装教程(经典版)「建议收藏」作为一个GISer,对ArcGIS软件的操作要尤为熟练,软件的顺利安装则是第一步。GIS软件的安装过程稍微有些麻烦,一不小心可能安装不上,今天我们就来聊聊在Windows10系统上安装ArcGIS10.x吧!目前为止,我们使用最多的操作系统是Windows10,为了保证ArcGIS软件的顺利安装,在安装ArcGIS之前,一定要进行系统配置。

    2022年6月15日
    33
  • vue3数据劫持_vue实现keepalive

    vue3数据劫持_vue实现keepalive模仿vue的数据劫持,实现mvvm

    2022年4月22日
    133
  • videocapture_directshow是什么

    videocapture_directshow是什么DirectShow框架简介DirectShow框架是多媒体播放框架上一个非常经典的框架,现在已经十多年了,在Windows平台上依然无法替代,非常值得去学习研究。个人觉得从设计模式的角度上看,directshow框架的灵活性、复用性、可维护性、可拓展性这些方面做得非常不错,也是它经久不衰历久弥新的一个原因,现在的很多第三方的decoder和filter都基于directshow框架开发,可以很灵活

    2022年10月10日
    5
  • MySql Povit_MySQL pivot row成动态列数「建议收藏」

    MySql Povit_MySQL pivot row成动态列数「建议收藏」杨魅力不幸的是,MySQL没有PIVOT基本上你想要做的功能。因此,您需要使用带有CASE语句的聚合函数:selectpt.partner_name,count(casewhenpd.product_name=’ProductA’THEN1END)ProductA,count(casewhenpd.product_name=’ProductB’THEN1…

    2025年6月20日
    2
  • Python-正则匹配

    Python-正则匹配一、匹配单个字符:1、数字匹配\d表示匹配任意数字In[16]:ret=re.match(r"速度与激情\d","速度与激情1")In[17]

    2022年7月2日
    24
  • java的常量

    java的常量JAVA变量与常量常量常量值常量常量的声明定义常量常量在c语言编程网中的定义是指在程序的整个运行过程中值保持不变的量。在这里要注意常量和常量值是不同的概念,常量值是常量的具体和直观的表现形式,常量是形式化的表现。这里体现出常量值这一定义,我认为的常量值就是值,具体的某一数值百度出来的常量是定义为两种意思:一是不可变的变量,也是最最最开始接触java知道的,二如上。平时所说的值指的是常量值,常量是不可变的变量(用final修饰的变量)常量值提到常量值不得不说一下计数法,八进制、十进制、十六进制所代

    2022年7月8日
    26

发表回复

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

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