0%

java 实体对象转Map公共类

java 实体对象转Map公共类

package org.kxtkx.portal.utils;

</span><span style="color: #0000ff;">import</span><span style="color: #000000;"> java.lang.reflect.Field;
</span><span style="color: #0000ff;">import</span><span style="color: #000000;"> java.util.HashMap;
</span><span style="color: #0000ff;">import</span><span style="color: #000000;"> java.util.Map;
</span><span style="color: #0000ff;">import</span><span style="color: #000000;"> org.kxtkx.portal.user.Admin;
</span><span style="color: #008000;">/**</span><span style="color: #008000;">
 * 
 * </span><span style="color: #808080;">@author</span><span style="color: #008000;"> <a href="mailto:wangc@kxtkx.com">王成</a> 
 * @created in 2011-6-24 - 下午02:58:50
 * 本类说明:对象转Map
 </span><span style="color: #008000;">*/</span>
<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> ObjAnalysis {

 </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span><span style="color: #000000;"> Map ConvertObjToMap(Object obj){
  Map</span><String,Object> reMap = <span style="color: #0000ff;">new</span> HashMap<String,Object><span style="color: #000000;">();
  </span><span style="color: #0000ff;">if</span> (obj == <span style="color: #0000ff;">null</span><span style="color: #000000;">) 
   </span><span style="color: #0000ff;">return</span> <span style="color: #0000ff;">null</span><span style="color: #000000;">;
  Field[] fields </span>=<span style="color: #000000;"> obj.getClass().getDeclaredFields();
  </span><span style="color: #0000ff;">try</span><span style="color: #000000;"> {
   </span><span style="color: #0000ff;">for</span>(<span style="color: #0000ff;">int</span> i=0;i<fields.length;i++<span style="color: #000000;">){
    </span><span style="color: #0000ff;">try</span><span style="color: #000000;"> {
     Field f </span>=<span style="color: #000000;"> obj.getClass().getDeclaredField(fields[i].getName());
     f.setAccessible(</span><span style="color: #0000ff;">true</span><span style="color: #000000;">);
           Object o </span>=<span style="color: #000000;"> f.get(obj);
           reMap.put(fields[i].getName(), o);
    } </span><span style="color: #0000ff;">catch</span><span style="color: #000000;"> (NoSuchFieldException e) {
     </span><span style="color: #008000;">//</span><span style="color: #008000;"> TODO Auto-generated catch block</span>
<span style="color: #000000;">     e.printStackTrace();
    } </span><span style="color: #0000ff;">catch</span><span style="color: #000000;"> (IllegalArgumentException e) {
     </span><span style="color: #008000;">//</span><span style="color: #008000;"> TODO Auto-generated catch block</span>
<span style="color: #000000;">     e.printStackTrace();
    } </span><span style="color: #0000ff;">catch</span><span style="color: #000000;"> (IllegalAccessException e) {
     </span><span style="color: #008000;">//</span><span style="color: #008000;"> TODO Auto-generated catch block</span>
<span style="color: #000000;">     e.printStackTrace();
    }
   }
  } </span><span style="color: #0000ff;">catch</span><span style="color: #000000;"> (SecurityException e) {
   </span><span style="color: #008000;">//</span><span style="color: #008000;"> TODO Auto-generated catch block</span>
<span style="color: #000000;">   e.printStackTrace();
  } 
  </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> reMap;
 }

 </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> main(String[] args) {
  Admin a </span>= <span style="color: #0000ff;">new</span><span style="color: #000000;"> Admin();
  a.setCPassword(</span>"123456"<span style="color: #000000;">);
  a.setCUsername(</span>"王成"<span style="color: #000000;">);
  Map m </span>=<span style="color: #000000;"> ConvertObjToMap(a);
  System.out.println(m);
 }
}</span>