java 实体对象转Map公共类

package org.kxtkx.portal.utils;

import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
import org.kxtkx.portal.user.Admin;
/**
*
* @author <a href="mailto:wangc@kxtkx.com">王成</a>
* @created in 2011-6-24 - 下午02:58:50
* 本类说明:对象转Map
*/
public class ObjAnalysis { public static Map ConvertObjToMap(Object obj){
Map<String,Object> reMap = new HashMap<String,Object>();
if (obj == null)
return null;
Field[] fields = obj.getClass().getDeclaredFields();
try {
for(int i=0;i<fields.length;i++){
try {
Field f = obj.getClass().getDeclaredField(fields[i].getName());
f.setAccessible(true);
Object o = f.get(obj);
reMap.put(fields[i].getName(), o);
} catch (NoSuchFieldException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return reMap;
} public static void main(String[] args) {
Admin a = new Admin();
a.setCPassword("123456");
a.setCUsername("王成");
Map m = ConvertObjToMap(a);
System.out.println(m);
}
}

最新文章

  1. Linux下Nodejs安装(完整详细)
  2. 浅谈C#网络编程(一)
  3. 模拟搭建Web项目的真实运行环境(七)
  4. JavaEE知识点总结
  5. Tomcat 7.x热部署
  6. Coursera台大机器学习课程笔记10 -- Linear Models for Classification
  7. C# Socket Server 收不到数据
  8. excel上传和下载
  9. 跨域iframe高度自适应(兼容IE/FF/OP/Chrome)
  10. JUnit 4 使用 Java 5 中的注解(annotation)
  11. C# 中类和结构的区别
  12. FreeModbus Slave 改进的eMbPoll()【worldsing 笔记】
  13. 64位Ubuntu配置android环境报错(...adb&quot;: error=2, 没有那个文件或目录)
  14. python操作memcache
  15. ubuntu 12.04 安装和使用花生壳
  16. [解决]Windows Server 2012 不能安装IE版的Flash
  17. 浅谈js中的正则表达式
  18. POI导出EXCEL,浏览器不兼容,文件名称乱码,文件无法打开解决方法
  19. css常见的各种布局上(两列布局)
  20. POJ 1390 Blocks(区间DP)

热门文章

  1. oracle之网络
  2. Linux常用的三种软件安装方式
  3. MySQL页分裂和页合并
  4. Thread、ThreadLocal源码解析
  5. 在Notepad++中配置python运行环境
  6. HotSpot VM 中的JIT分类
  7. Spring学习(七)bean装配详解之 【通过注解装配 Bean】【自动装配的歧义解决】
  8. 学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳
  9. AI小白必读:深度学习、迁移学习、强化学习别再傻傻分不清
  10. 软件定义网络实验记录①--Mininet 源码安装和可视化拓扑工具