利用Java反射机制将Bean转成Map
来源:互联网 发布:什么叫原宿风 知乎 编辑:程序博客网 时间:2024/06/06 08:26
初映像:根据类名就可以实例化该类,支持动态调用。
Reflection是Java被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运行时透过ReflectionAPIs取得任何一个已知名称的class的内部信息,包括其modifiers(诸如public,static等等)、superclass(例如Object)、实现之interfaces(例如Cloneable),也包括fields和methods的所有信息,并可于运行时改变fields内容或唤起methods
import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.util.Calendar;import java.util.GregorianCalendar;import java.util.LinkedHashMap;import java.util.Map;public class Map2BeanDemo {public static void main(String[] args){//把bean 转成map,实现BeanUtils.populate的逆过程Map<String,Object> map = new LinkedHashMap<String,Object>();Calendar ccBday = new GregorianCalendar(2012,11,09);Person cc = new Person(“cc",25,ccBday.getTime());map = transBean2Map(cc);System.out.println("***** print map ********");for(Map.Entry<String, Object> entry: map.entrySet()){System.out.println(entry.getKey() + ":" + entry.getValue());}}public static Map<String,Object> transBean2Map(Object obj){Map<String,Object> map = new LinkedHashMap<String,Object>();//key值 应该是 Person类中的属性名,利用反射机制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.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反射机制将Bean转成Map
- 利用java反射机制将Map转换为Bean对象
- Java 用反射将JavaBean转成Map
- 利用Java反射机制将Json格式字符串反射为 Bean List
- 利用Java的反射机制实现Bean实体与Map自动转换的工具类
- 利用java反射机制将任意对象的转换为map存储
- 将String,json转成Map或bean
- 利用Scanner将string转成Map
- 利用java反射将map值封装到对象中
- 利用反射机制,将表跟BEAN对象关联的原理
- 利用反射机制,将ResultSet处理为bean或list的方法
- 利用反射将Map转成JavaBean(属性值均为private,且包含Long类型属性)
- JAVA利用Jacob将EXCEL转成PDF
- 把一个Java Bean 转成Map的方法
- 利用java反射机制比较同一个bean的两个对象的值是否相同
- 利用java反射机制比较同一个bean的两个对象的值是否相同
- 利用Java反射机制创建对象,Spring管理Bean原理 例子。
- 利用java反射机制将orcale数据库中的表反射到类中
- uva 10801 - Lift Hopping
- 学习Java时写的小程序
- ACM国际大学生程序设计竞赛及练习题库
- js实现密码强度检测
- 人生规划的重要性
- 利用Java反射机制将Bean转成Map
- 流年,经不起怀念
- 详解大端模式和小端模式
- java单例模式
- android Uri 介绍及使用
- 随机产生100个数,随机选择98个数存入一个数组,求那两个没有存入数组?
- WMware上安装Openwrt X86
- java起步——求完全数
- struts2 解决浏览器post提交值Actionz还能获取第一个参数的问题