博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA中,Map转实体类、实体类转Map的方法
阅读量:6703 次
发布时间:2019-06-25

本文共 1419 字,大约阅读时间需要 4 分钟。

hot3.png

Map转换实体类的方法如下:

/**	 * Map转实体类共通方法	 *	 * @param type 实体类class	 * @param map map	 * @return Object	 * @throws Exception     */	public static Object convertMap(Class type, Map map) throws Exception {		BeanInfo beanInfo = Introspector.getBeanInfo(type);		Object obj = type.newInstance();		PropertyDescriptor[] propertyDescriptors =  beanInfo.getPropertyDescriptors();		for (PropertyDescriptor descriptor : propertyDescriptors) {			String propertyName = descriptor.getName();			if (map.containsKey(propertyName)) {				Object value = map.get(propertyName);				descriptor.getWriteMethod().invoke(obj, value);			}		}		return obj;	}

实体类转换Map的方法如下:

/**	 * 实体类转Map共通方法	 *	 * @param bean 实体类	 * @return Map	 * @throws Exception     */	public static Map convertBean(Object bean) throws Exception {		Class type = bean.getClass();		Map returnMap = new HashMap();		BeanInfo beanInfo = Introspector.getBeanInfo(type);		PropertyDescriptor[] propertyDescriptors =  beanInfo.getPropertyDescriptors();		for (PropertyDescriptor descriptor : propertyDescriptors) {			String propertyName = descriptor.getName();			if (!propertyName.equals("class")) {				Method readMethod = descriptor.getReadMethod();				Object result = readMethod.invoke(bean);				if (result != null) {					returnMap.put(propertyName, result);				} else {					returnMap.put(propertyName, "");				}			}		}		return returnMap;	}

 

转载于:https://my.oschina.net/MinghanSui/blog/911051

你可能感兴趣的文章
一个Linux脚本搞定常用软件的安装
查看>>
[LeetCode] Linked List Random Node 链表随机节点
查看>>
数据仓库专题(15)-数据仓库建设基本原则-实践篇(求补充)
查看>>
关于IoT网络的一些特征的探讨
查看>>
tkinter的GUI设计:界面与逻辑分离(一)-- 初次见面
查看>>
拓扑学中凝聚点的几个等价定义
查看>>
64.5. PHP mail()
查看>>
iOS微信6.5.19可生成自己的赞赏码
查看>>
你的GitHub Guides探险
查看>>
jsch上传文件功能
查看>>
iOS - Swift Closure 闭包
查看>>
新版 Edge 浏览器 Logo 曝光:形状相同,但为黄色背景
查看>>
Mac下遇到 'reading initial communication packet’ 问题
查看>>
手把手教你webpack3(10)Less-Loader配置简述
查看>>
Hadoop设置环境变量注意事项
查看>>
SAP MM Service Specification的使用?
查看>>
github优质图书
查看>>
第 35 章 dnsmasq
查看>>
武汉往事之借钱识朋友
查看>>
python中的文件操作
查看>>