java 把对象转成map_Java对象转换成Map[通俗易懂]

java 把对象转成map_Java对象转换成Map[通俗易懂]需求总是千奇百怪,对象转成map,看似没必要,但就是有这个需求,所以记录下来首先是beanpackagetools;importlombok.data;/***车辆实体类*/@datapublicclasscar{privatestringid;privatestringmodel;//型号privatestringcolor;//颜色privatestringvolu…

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

需求总是千奇百怪,对象转成map,看似没必要,但就是有这个需求,所以记录下来

首先是bean

package tools;

import lombok.data;

/**

* 车辆实体类

*/

@data

public class car {

private string id;

private string model;//型号

private string color;//颜色

private string volume;//排量

private int year;//年份

}

然后是主要方法和测试类

package tools;

import java.lang.reflect.field;

import java.util.hashmap;

import java.util.map;

public class maptools {

public static void main(string[] args) throws exception{

car car = new car();

car.setid(“00000”);

car.setcolor(“black”);

car.setmodel(“bmw x5”);

car.setvolume(“3.0l”);

car.setyear(2018);

system.out.println(objecttomap(car));

}

/**

* 将object对象里面的属性和值转化成map对象

*

* @param obj

* @return

* @throws illegalaccessexception

*/

public static map objecttomap(object obj) throws illegalaccessexception {

map map = new hashmap();

class> clazz = obj.getclass();

for (field field : clazz.getdeclaredfields()) {

field.setaccessible(true);

string fieldname = field.getname();

object value = stringutils.nvl(field.get(obj));

map.put(fieldname, value);

}

return map;

}

}

输出

{volume=3.0l, color=black, year=2018, model=bmw x5, id=00000}

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

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

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

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


相关推荐

  • win32api python 手册_windows api如何使用

    win32api python 手册_windows api如何使用本文整理汇总了Python中win32api.GetSystemMetrics方法的典型用法代码示例。如果您正苦于以下问题:Pythonwin32api.GetSystemMetrics方法的具体用法?Pythonwin32api.GetSystemMetrics怎么用?Pythonwin32api.GetSystemMetrics使用的例子?那么恭喜您,这里精选的方法代码示例或许可以为您…

    2022年10月11日
    4
  • android短信验证码方案,Android之短信验证码

    android短信验证码方案,Android之短信验证码今天所使用的方案只是android手机设备集成短信验证码功能的方案之一。我们所采用的方案是使用聚合数据的短信验证sdk。接口文档:https://www.juhe.cn/docs/api/…程序的界面如下所示:实现步骤:1.到聚合数据官网上申请短信验证SDK数据,生成AppKey,如下图所示:2.配置工程,把相关的sdk库导入到Project中去,:3.配置AndroidManifest.xm…

    2022年7月25日
    7
  • C语言小游戏(flappy bird),附带源码及素材

    C语言小游戏(flappy bird),附带源码及素材课程设计 用 C 语言编码一个小游戏 flappybird 前言一 系统简介二 函数模块图三 具体代码头文件前言完成该程序需要用到 easy x 库数据 建议用 vc6 或 vs2013 版本以上等支持安装 easy x 库的软件一 系统简介该游戏名为 FLIP 滑稽 改自 flappybird 游戏实现了按空格键跳跃 越过障碍无得分 触碰障碍物边界或游戏窗口上下边界游戏结束的功能 其中图片 音效 文件写入

    2025年9月20日
    5
  • Mac PyCharm 打不开处理

    Mac PyCharm 打不开处理1 第一步 先输入 cd Applications PyCharm app Contents MacOS2 第二步 查看无法打开 pycharm 的原因 需要输入 c pycharm3 第三步 下面就是展示的分析日志 其中许多小伙伴都找不到网上说的这个地址 cd Users 用户名 Library Preferences PyCharm2019 1 其实地址不是这个 而是 Users liuxiaoming Library ApplicationS JetBrain

    2025年6月28日
    5
  • Linux系统官网下载「建议收藏」

    Linux系统官网下载「建议收藏」CentOS-6.9-x86_64-bin-DVD1.isohttp://archive.kernel.org/centos-vault/6.9/isos/x86_64/CentOS-6.9-x86_

    2022年7月1日
    38
  • 【知识小结】PHP使用svn笔记总结

    【知识小结】PHP使用svn笔记总结

    2021年10月22日
    48

发表回复

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

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