Java中Object和Map的互转
背景
有时,我们需要将实体对象转成map,有时,我们需要将map转成实体对象,下面利用反射完成这样的转换
obj转map
思想:利用反射获取对象属性和属性值,设置到map中
/*** 实体对象转成Map* @param obj 实体对象* @return*/
public static Map<String, Object> object2Map(Object obj) {Map<String, Object> map = new HashMap<>();if (obj == null) {return map;}Class clazz = obj.getClass();Field[] fields = clazz.getDeclaredFields();try {for (Field field : fields) {field.setAccessible(true);map.put(field.getName(), field.get(obj));}} catch (Exception e) {e.printStackTrace();}return map;
}
map转obj
思想:根据实体属性找map中对应key的value,设置给实体属性,注意如果是static或final修饰的,不能设置值
/*** Map转成实体对象* @param map map实体对象包含属性* @param clazz 实体对象类型* @return*/
public static Object map2Object(Map<String, Object> map, Class<?> clazz) {if (map == null) {return null;}Object obj = null;try {obj = clazz.newInstance();Field[] fields = obj.getClass().getDeclaredFields();for (Field field : fields) {int mod = field.getModifiers();if (Modifier.isStatic(mod) || Modifier.isFinal(mod)) {continue;}field.setAccessible(true);field.set(obj, map.get(field.getName()));}} catch (Exception e) {e.printStackTrace();} return obj;
}
Java中Object和Map的互转相关推荐
- Java中Object转Map类型,Map转Object类型
前言 在使用Java编程过程中,经常会遇到获取的数据为Object类型,但只是以这种方式传输,实质还是Map类型,此时就涉及到两种类型的相互转换. 强制转换 在类型转换工程中,常见的转换方式为强制转换 ...
- java中map怎么遍历,Java中怎么遍历Map的所有的元素
Java中怎样遍历Map的所有的元素 JDK1.4中 view plaincopy to clipboardprint? Map map = new HashMap(); Iterator it = ...
- Java中的映射Map - 入门篇
前言 大家好啊,我是汤圆,今天给大家带来的是<Java中的映射Map - 入门篇>,希望对大家有帮助,谢谢 简介 前面介绍了集合List,这里开始简单介绍下映射Map,相关类如下图所示 正 ...
- java 子类tostring,JAVA中Object类的toString()方法,objecttostring
JAVA中Object类的toString()方法,objecttostring toString public String toString() 返回该对象的字符串表示.通常,toString 方 ...
- java list for循环遍历_详解Java中list,set,map的遍历与增强for循环
详解Java中list,set,map的遍历与增强for循环 Java集合类可分为三大块,分别是从Collection接口延伸出的List.Set和以键值对形式作存储的Map类型集合. 关于增强for ...
- java集合for循环_详解Java中list,set,map的遍历与增强for循环
详解Java中list,set,map的遍历与增强for循环 Java集合类可分为三大块,分别是从Collection接口延伸出的List.Set和以键值对形式作存储的Map类型集合. 关于增强for ...
- java 怎么获取键的值_在 Java 中如何获取 Map 的所有键和值
在 Java 中可以通过 map.entrySet() 方法获取 Map 的所有键和值. Map map = new HashMap<>(); // Get keys and values ...
- java中list和map详解
java中list和map详解 一.概叙 List , Set, Map都是接口,前两个继承至Collection接口,Map为独立接口, List下有ArrayList,Vector,LinkedL ...
- Java实现Object和Map之间的转换
Java实现Object和Map之间的转换 public class Obj2MapUtils {/*** 将Object类型的数据转化成Map<String,Object>* @para ...
最新文章
- “人脸识别”是一柄双刃剑 如何趋利避害?
- 信号回勾产生的原因_电力电缆故障原因及常用检测方法
- codeforces 15C. Industrial Nim
- ABP Framework V4.4 RC 新增功能介绍
- python tkinter进度条_在python3.7中更新tkinter进度条
- 怀念本科时代----科学入门的导师肖建华老师
- iOS build faad
- 拓端tecdat|基于贝叶斯模型的随机森林预测方法分析汽车燃油经济性
- spark 部署方式
- Matlab2018a破解出现licensing error:-8523
- Altium Designer入门教程:软件安装、中文设置与原件库配置
- 支付宝VS微信支付竞品分析
- 网页获取到的图片bease64编码,转化为二进制,进而保存为图片
- 生于80年代,穷于10年代,败于90后
- 基于C++和QT实现的简单数独游戏软件
- 支付与对账业务的流程
- 正则表达式:字符串替换
- sim900a 裸AT通过GPRS网络发送接收数据
- 【PAT甲级】1062 Talent and Virtue (25分)
- Python实现杨辉三角(2种实现方案)