Java之——Map与JavaBean互相转化
来源:互联网 发布:jquery.loading.js 编辑:程序博客网 时间:2024/05/29 07:26
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/78003714
不多说,直接上代码:
package com.chwl.medical.utils.reflect;import java.lang.reflect.Field;import java.lang.reflect.Modifier;import java.util.HashMap;import java.util.Map;/** * 利用反射对Java对象和Map相互转化 * @author liuyazhuang * */public class ReflectMap {/** * 将Map转化为Object返回泛型类型 * @param map * @param beanClass * @return * @throws Exception */@SuppressWarnings("unchecked")public static <T> T mapToT(Map<String, Object> map, Class<T> beanClass){Object obj = mapToObject(map, beanClass);return obj == null ? null : ((T)obj);} /** * 将Map转化为Object * @param map * @param beanClass * @return * @throws Exception */public static Object mapToObject(Map<String, Object> map, Class<?> beanClass){ if (map == null) return null; Object obj = null;try {obj = beanClass.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; } /** * 将Object转化为Map * @param obj * @return * @throws Exception */public static Map<String, Object> objectToMap(Object obj) { if(obj == null){ return null; } Map<String, Object> map = new HashMap<String, Object>(); try { Field[] declaredFields = obj.getClass().getDeclaredFields(); for (Field field : declaredFields) { field.setAccessible(true); map.put(field.getName(), field.get(obj)); } } catch (Exception e) {e.printStackTrace();} return map; } /** * 将Object转化为Map * @param obj * @return * @throws Exception */public static Map<String, Object> beanToMap(Object obj) { if(obj == null){ return null; } Map<String, Object> map = new HashMap<String, Object>(); try {Field[] declaredFields = obj.getClass().getDeclaredFields(); for (Field field : declaredFields) { field.setAccessible(true); map.put(field.getName(), field.get(obj)); }if(map.containsKey("serialVersionUID")){map.remove("serialVersionUID");}} catch (Exception e) {e.printStackTrace();}return map; } }
阅读全文
0 0
- Java之——Map与JavaBean互相转化
- JavaBean对象与Map对象互相转化
- JavaBean对象与Map对象互相转化
- JavaBean对象与Map对象互相转化
- JavaBean对象与Map对象互相转化
- 【Java】JAXB 处理 复杂XML 与JavaBean 互相转化过程
- JavaBean与Map相互转化
- javaBean与Map相互转化
- xml与javaBean的互相转化
- Java之——对象与Map相互转化
- Java 中 Map与JavaBean之间的相互转化
- Java 中 Map与JavaBean之间的相互转化
- Java 中 Map与JavaBean之间的相互转化
- javabean/List<javabean>与map/List<map>互相转换
- json、javaBean 互相转化 的工具 —— json-lib
- JavaBean对象与Map对象互相转换
- JavaBean对象与Map对象互相转换
- map 与object之间互相转化
- 关于批量将彩色图转为灰度图
- CCF CSP 201503-4 网络延时 (求树的直径-树形DP)
- Android Api demo系列(23) (Graphics>Pictures)
- Python 文件数据批量录入数据库(MongoDB)
- LINTCODE——前序遍历和中序遍历树构造二叉树
- Java之——Map与JavaBean互相转化
- java方法调用原理——虚拟机中方法调用
- 三目运算符和if_else引发的血案
- Calico 的网络结构是什么?- 每天5分钟玩转 Docker 容器技术(68)
- 【前端笔试】JavaScript实现字符串全排列
- 嵌入式系统基础及知识及接口技术总结
- java web项目代码不报错但是项目左上角有个红叉
- Android多媒体--学习笔记1
- 2017年9月16日,周结(二十四),最近一段时间的总结