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)


相关推荐

  • 使用Golang实现PHP的Addslashes和Stripslashes「建议收藏」

    使用Golang实现PHP的Addslashes和Stripslashes「建议收藏」//addslashes()函数返回在预定义字符之前添加反斜杠的字符串。//预定义字符是://单引号(’)//双引号(”)//反斜杠(\)funcAddslashes(strstring)string{ tmpRune:=[]rune{} s…

  • Python数据可视化-seaborn「建议收藏」

    Python数据可视化-seaborn「建议收藏」详细介绍可以看seaborn官方API和examplegaller。常用颜色:常用样式:1set_style()set()set_style()是用来设置主题的,Seaborn有五

  • YOLO3训练自己数据(超详细步骤)

    YOLO3训练自己数据(超详细步骤)须知:对于占比较小的目标检测效果不好,虽然每个格子可以预测多个boundingbox,但是最终只选择IOU(预测的矩形框和真实目标的交集与并集之比)最高的boundingbox作为物体检测输出,即每个格子最多只预测出一个物体。当一个格子中包含多个物体时,如鸟群等,却只能检测出其中一个。另外,YOLO对车牌识别的效果一般。一:下载YOLO3项目gitclonehttps://githu…

  • DTW和DBA_电台文本

    DTW和DBA_电台文本DTW(动态时间调整)动态时间调整算法是大多用于检测两条语音的相似程度,由于每次发言,每个字母发音的长短不同,会导致两条语音不会完全的吻合,动态时间调整算法,会对语音进行拉伸或者压缩,使得它们竟可能

  • 解决win10状态栏的搜索框无法搜索本地应用或无反应

    解决win10状态栏的搜索框无法搜索本地应用或无反应今天突然出现的问题,在状态栏左下角的搜索框搜索OneNote没有任何反应,对,就是这个地方。最后在另一篇博客上找到了答案,那篇博客也是在知乎找到的答案,虽然是用被人的方法解决了问题,但我还是打算记下来;1、首先,打开管理员命令窗口,win+x,可以看到弹出一个窗口,打开windowsPowershell(管理员)如图2,输入下面这行英文startpowershell然…

  • java模拟器.apk_java游戏模拟器安卓版下载-java模拟器apk下载 v2.2.0 安卓版-IT猫扑网…

    java模拟器.apk_java游戏模拟器安卓版下载-java模拟器apk下载 v2.2.0 安卓版-IT猫扑网…手机游戏,给用户带来无限乐趣。该应用体积小,不占用太多内存,有需要的用户赶紧下载使用吧~应用介绍:Java手机游戏模拟器主要针对诺基亚S60系列(屏幕176*220)手机以及其他大屏手机(小屏游戏也可运行,但不能全屏显示),是一款非常简单而且实用的java游戏模拟器,可以正常运行绝大部分JAVA手机游戏!应用特点:Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特…

发表回复

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

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