很多情况下, 使用Map比使用Bean更方便, 下面简单说下JavaBean转Map的自己的思路
1. 首先取得JavaBean中的方法, 注意的是, 默认情况下一个JavaBean有9个方法.
- Person p1 = new Person();
- Method[] methods = p1.getClass().getMethods();
- for(Method m:methods){
- System.out.println(m.getName());
- }
结果是:
hashCode
getClass
wait
wait
wait
equals
notify
notifyAll
toString
如果JavaBean添加一个方法: getAge()后, 会取得getAge.
2. 循环方法, 使用invoke, 取得所需要的object, 放入Map中
- Map<String, Object> r_map = new HashMap<String, Object>();
- for(Method m:methods){
- Object value = m.invoke(p1, new Object[]{});
- r_map.put(m.getName(), value);
- }
大概思路是这样, 当然具体实现还需要考虑很多问题, 来增强程序的健壮.