package com.hwqh.hwqhuser.util;import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;/*** Map转换工具类*/
public class MapToolsUtil {public static void main(String[] args) throws Exception{/* User user=new User();user.setId(1L);Map<String, Object> stringObjectMap = javaBean2Map(user);System.out.println(stringObjectMap);
*//*  Map map = new HashMap();map.put("id",1L);map.put("nickname","你好");User user = (User) mapJavaBean(User.class, map);System.out.println(user.getNickname()+user.getId());*/}/*** 将Object对象里面的属性和值转化成Map对象** @return* @throws IllegalAccessException*/public static Map<String, Object> javaBeanMap(Object javaBean) {Map<String, Object> map = new HashMap<>();Method[] methods = javaBean.getClass().getMethods(); // 获取所有方法for (Method method : methods) {if (method.getName().startsWith("get")) {String field = method.getName(); // 拼接属性名field = field.substring(field.indexOf("get") + 3);field = field.toLowerCase().charAt(0) + field.substring(1);Object value = null; // 执行方法try {value = method.invoke(javaBean, (Object[]) null);} catch (IllegalAccessException e) {e.printStackTrace();} catch (InvocationTargetException e) {e.printStackTrace();}map.put(field, value);}}return map;}/*** Map转对象的方法*//*  public static Object mapJavaBean(Class<?> clazz, Map<String, Object> map) {Object javabean = null; // 构建对象try {javabean = clazz.newInstance();Method[] methods = clazz.getMethods(); // 获取所有方法for (Method method : methods) {if (method.getName().startsWith("set")) {String field = method.getName(); // 截取属性名field = field.substring(field.indexOf("set") + 3);field = field.toLowerCase().charAt(0) + field.substring(1);if (map.containsKey(field)) {method.invoke(javabean, map.get(field));}}}} catch (Exception e) {e.printStackTrace();}return javabean;} *//*** Map转对象的方法*/public static Object mapJavaBean(Class<?> clazz, Map<String, String> map) {Object javabean = null; // 构建对象try {javabean = clazz.newInstance();Method[] methods = clazz.getMethods(); // 获取所有方法for (Method method : methods) {if (method.getName().startsWith("set")) {String field = method.getName(); // 截取属性名field = field.substring(field.indexOf("set") + 3);field = field.toLowerCase().charAt(0) + field.substring(1);if (map.containsKey(field)) {method.invoke(javabean, map.get(field));}}}} catch (Exception e) {e.printStackTrace();}return javabean;}
}

java工具类-Java对象转换成Map相关推荐

  1. Java工具类——通过配置XML验证Map

    Java工具类--通过配置XML验证Map 背景 在JavaWeb项目中,接收前端过来的参数时通常是使用我们的实体类进行接收的.但是呢,我们不能去决定已经搭建好的框架是怎么样的,在我接触的框架中有一种 ...

  2. java pojo 转 map_如何将POJO对象转换成MAP

    展开全部 很多情况需要将取得的POJO对象转换成其他表现形式,如Key-Value的Map形式,用于数据展现.本文介绍如何e5a48de588b662616964757a686964616f31333 ...

  3. Java对象转换成Map

    需求总是千奇百怪,对象转成map,看似没必要,但就是有这个需求,所以记录下来 首先是Bean package tools;import lombok.Data;/*** 车辆实体类*/ @Data p ...

  4. 【Java】Java对象转换成Map

    1.概述 转载:https://www.cnblogs.com/tobeymarshall/p/10217410.html 需求总是千奇百怪,对象转成map,看似没必要,但就是有这个需求,所以记录下来 ...

  5. Java反射之将对象转成map

    有时,我们在工程中需要将对象转成map 我们在objectToMap方法中传入对象参数,返回的就是map. ReflectUtil.java import java.lang.reflect.Fiel ...

  6. Java工具类 —— Java POI 4.X 的Excel基本操作

    Excel报表操作在日常办公和生活中应用非常广泛,今天我们来看看Java是怎么操作Excel的. 先分享一下工具类:工具类ExcelOperators,点击下载 欢迎下载使用,更希望自己动动手,写一下 ...

  7. java工具类-java实现 生成圆头像

    1.创建RoundHeadImgUtils工具类 package com.mrd.utils;import javax.imageio.ImageIO; import java.awt.*; impo ...

  8. Jackson使用示例:将Java对象转换成Map

  9. java工具类-java仿微信九宫格头像

    创建Utils类 ImageUtil package com.mrd.utils;import javax.imageio.ImageIO; import java.awt.Color; import ...

  10. java xml最火的的工具_几种高效的Java工具类推荐

    本文将介绍了十二种常用的.高效的Java工具类 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类. 在开发中,使用这些工具类,不仅可以提高编码效率,还 ...

最新文章

  1. ZOJ 1057 Undercut(简单模拟)
  2. java web 中 读取windows图标并显示
  3. 表单嵌套问题的解决方法
  4. 汇编考试一星题目对字母操作,输入字符并在屏幕上显示
  5. python类与对象的内置函数大全(BIF)
  6. [C#]写自己的类库
  7. 群晖NAS教程(一) 、利用Docker安装MySQL8并远程访问
  8. 基于蒙特卡洛的大规模电动汽车充电行为分析(Matlab代码实现)
  9. Vue:type check failed for prop “pageSize“. Expected Number with value xx 问题
  10. ASP.NET 实现快递单的打印及套打
  11. PLC模拟量输出 模拟量转换FC S_RTI
  12. 即时通讯开发移动端弱网络优化方法总结
  13. 数据库入门教程--01建库建表插入数据以及数据的修改
  14. 网易云歌单信息爬取及数据分析(1)爬虫部分
  15. r1音箱原生系统更改服务器,低门槛不破坏R1功能改AUX音源电脑喇叭[已更新完整]...
  16. Java链表的书_JAVA实现双向链表的增删功能,完整代码package linked;class LinkedTable{ }public class Linke...
  17. 广东省佛山市谷歌卫星地图下载
  18. 笔记本频道-eNet笔记本大全-硅
  19. 西门子s7 200smart与台达伺服电机 运动控制的学习,目标:用触摸屏和西门子smart 控制
  20. 如何借助车间有毒有害气体监控系统,提升生产安全和效率?

热门文章

  1. 华硕计算机u盘启动不了怎么办,华硕笔记本、台式机无法从U盘启动安装系统的终极解决办法-网络教程与技术 -亦是美网络...
  2. 【DIY】用驱蚊器改装wifi中继器,wifi信号增强器
  3. 图解mysql体系结构
  4. 基于C++和QT实现的房贷计算器设计
  5. 本科三级专业目录计算机类,大学本科专业目录
  6. hutool对称加密
  7. 利用selenium下载图片,不使用requests和urllib等其他工具
  8. php和tp中生成二维码电子名片
  9. CryptoJS简单使用
  10. 计算机硬盘介绍,硬盘简介 - 硬盘使用知识大全(1)