import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.io.ByteArrayOutputStream;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Date;
public class beanConverMap {
//JavaBean转换为Map
public Map<String, Object> beanConverMap(Object obj){
if(obj == null){
return null;
}
Map<String, Object> map = new HashMap<String, Object>();
try {
BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());
PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
for (PropertyDescriptor property : propertyDescriptors) {
String key = property.getName();
// 过滤class属性
if (!key.equals("class")) {
// 得到property对应的getter方法
Method getter = property.getReadMethod();
if(getter != null){
Object value = getter.invoke(obj);
if (value != null) {
if(value instanceof Date){
//用于处理日期字符串
value = DateUtil.getDateString((Date)value, DateUtil.DATE_PATTERN_01);
}
map.put(key, value);
} else {
map.put(key, "");
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return map;
}
}
将JAVA对象Object转换成<属性名, 属性值>的MAP
最新推荐文章于 2024-08-05 04:00:08 发布