package com.wood.util;
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
/**
*
* @ClassName: BeanToMapUtils
* @Description: TODO
* @author wood
* @date 2014-10-31 下午09:52:41
*
*/
public class BeanToMapUtils {
/**
* getFileds获取所有public 属性<br/>
* getDeclaredFields 获取所有声明的属性<br/>
* @param bean
* @return 将某个类及其继承属性全部添加到Map中
*/
public static Map<String,Object> beanToMap(Object bean){
Map<String,Object> result = new HashMap<String,Object>();
if(bean==null){
return result;
}
Field[] fields = bean.getClass().getDeclaredFields();
if(fields==null||fields.length==0){
return result;
}
for(Field field:fields){
//重置属性可见(而且一般属性都是私有的),否则操作无效
boolean accessible = field.isAccessible();
if(!accessible){
field.setAccessible(true);
}
//获取属性名称及值存入Map
String key = field.getName();
try {
result.put(key, field.get(bean));
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
//还原属性标识
field.setAccessible(accessible);
}
//获取父类属性
fields = bean.getClass().getSuperclass().getDeclaredFields();
if(fields==null||fields.length==0){
return result;
}
for(Field field:fields){
//重置属性可见(而且一般属性都是私有的),否则操作无效
boolean accessible = field.isAccessible();
if(!accessible){
field.setAccessible(true);
}
//获取属性名称及值存入Map
String key = field.getName();
try {
result.put(key, field.get(bean));
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
//还原属性标识
field.setAccessible(accessible);
}
return result;
}
public static void main(String[] args) {
Dog info = new Dog();
info.setCountry("cc");
info.setName("Dog");
info.setCategory("gram");
info.setOwner("wang");
System.out.println(beanToMap(info));
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有