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


相关推荐

  • js的数据类型有哪几种_前端数据类型有哪几种

    js的数据类型有哪几种_前端数据类型有哪几种js的数据类型(侧重点是基本数据类型)现如今的基本数据类型(原始类型)有几种?5?6?7?答曰都对;es5中是五种:Number、String、Boolean、undefined、Null;在es6中新加了一种:Symbol;而现如今在谷歌67版本中还出现了一种:bigInt;故而从最新的角度来说一共有七种;如下图所示:…

    2025年9月6日
    7
  • RewriteCond指令格式

    RewriteCond指令格式RewriteCond指令格式语法:RewriteCondTestStringCondPattern[flags]RewriteCond指令定义一条规则条件。在一条RewriteRule指令前面可能会有一条或多条RewriteCond指令,只有当自身的模板(pattern)匹配成功且这些条件也满足时规则才被应用于当前URL处理。1、TestString是一个纯文本的字符串,除

    2022年6月13日
    28
  • 下载谷歌离线地图瓦片图「建议收藏」

    下载谷歌离线地图瓦片图「建议收藏」项目中遇到一个需求,需要将某个地图区域的离线地图下载下来,整理很多网上的资料自己实现根据起始点的经纬度下载离线地图,代码如下importjava.io.*;importjava.net.URL;importjava.net.URLConnection;importjava.util.HashMap;importjava.util.Map;importjava.util.zip.ZipEntry;importjava.util.zip.ZipOutputStream;publi

    2026年2月5日
    3
  • python—whl文件介绍与安装

    python—whl文件介绍与安装在安装whl文件之前,我们需要先搞清楚什么是whl文件,whl格式本质上是一个压缩包,里面包含了py文件,以及经过编译的pyd文件。使得可以在不具备编译环境的情况下,选择合适自己的python环境进行安装。在Win7下安装whl文件,可以直接使用pip命令:pipinstallMySQL_python-1.2.5-cp36-none-win32.whl(1)虽然大多数情况下,…

    2022年5月30日
    85
  • BigDecimal详解 BigDecimal加减乘除运算 BigDecimal比较大小 BigDecimal保留两位小数

    BigDecimal详解 BigDecimal加减乘除运算 BigDecimal比较大小 BigDecimal保留两位小数文章目录1、为什么要用BigDecimal?2、BigDecimal初始化赋值3、BigDecimal的加减乘除运算4、BigDecimal比较大小5、BigDecimal保留两位小数及舍入模式6、BigDecimal其他方法及常量1、为什么要用BigDecimal?工作中我们通过浮点数进行运算时,好像时不时的会出现一些小误差。例如:publicstaticvoidmain(String[]args){System.out.println(1.9-1.2);Sys

    2022年6月2日
    53
  • 【matlab】函数meshgrid的用法详解(生成网格矩阵)和ndgrid的区别及用法「建议收藏」

    【matlab】函数meshgrid的用法详解(生成网格矩阵)和ndgrid的区别及用法「建议收藏」meshgrid函数用来生成网格矩阵,可以是二维网格矩阵,也可以是三维。对于生成二维网格,用法为:[xy]=meshgrid(ab); %a和b是一维数组,如a=[123];b=[234];则生成的x和y都是二维的矩阵,x的每行都是123,共三行,y每列都是234,共三列。举个实例:Forexample, toevaluateth

    2022年6月12日
    48

发表回复

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

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