利用Java反射机制将Bean转成Map
2016-01-29 15:38
423 查看
import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.LinkedHashMap; import java.util.Map; public class BeanUtil { /**Description: 利用Java反射机制将Bean转成Map * Create Date: 2014年11月4日上午11:48:26<br/> * Author : cyy <br/> * Modify Date: <br/> * Modify By : <br/> * @param obj * @return */ public static Map<String,Object> transBean2Map(Object obj){ Map<String,Object> map = new LinkedHashMap<String,Object>(); //key值 应该是 obj类中的属性名,利用反射机制 Field[] fields = obj.getClass().getDeclaredFields(); for(int i=0; i<fields.length; i++){ String field = fields[i].toString(); String[] keys = field.split("\\."); String key = keys[keys.length-1]; char toUpperCase = (char)(key.charAt(0)-32); String keyUpper = key.replaceFirst(new String(new char[]{key.charAt(0)}) ,new String(new char[]{toUpperCase}) );//key.replace(key.charAt(0),toUpperCase); Method getMethod; try { getMethod = obj.getClass().getDeclaredMethod("get"+keyUpper);//根据 field得到对应的get方法 Object value = getMethod.invoke(obj); map.put(key, value); } catch (NoSuchMethodException e) { e.printStackTrace(); } catch (SecurityException e) { e.printStackTrace(); }catch (IllegalAccessException e) { e.printStackTrace(); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } } return map; } }
相关文章推荐
- Java四种线程池的使用
- Java实现把测试结果写入Excel表中
- Java实现cRUL
- eclipse-4.4.2安装Groovy插件(其他版本eclipse可参考)
- spring aop 使用注解方式总结
- java spring(1) HelloWorld
- java处理Date类型的方向
- Eclipse 打开时“发现了以元素'd:skin'”开头的无效内容。此处不应含有子元素
- java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive
- Java 序列化 (Serializable) 的作用
- 从头认识Spring-1.3 Spring的容器与Bean
- Java面向对象的基本特征
- 非典型 JavaMail 邮件附件名乱码问题
- 使用Spring,Mabatis框架update返回值问题?
- mac下安装mysql,myeclipse for retina
- Java 字节流、字符流转换
- eclipse创建service服务
- MyEclipse 中各种 libraries 的含义
- MyEclipse2015破解版_MyEclipse 2015 stable 2.0 稳定版 破解日志
- JBoss7.1.1+Spring4+Hibernate4分布式系统的配置