/**
* 将Object对象的属性(有对应get方法)按照属性名字(key)和对应值(value)放到Map中,
* 属性值等于null的将不加如到Map中
*
* @param Object
* 有属性和对应其属性的get方法的对象
* **/
public Map getMapByObject(Object o) {
Class cls = o.getClass();
Map map = new HashMap();
Field fieldlist[] = cls.getDeclaredFields();
String value = null;
Method[] methods = cls.getDeclaredMethods();
try {
for (Method method : methods) {
for (Field fld : fieldlist) {
value = fld.getName();
value = "get" + value.toUpperCase().charAt(0)
+ value.substring(1, value.length());
if (value.equals(method.getName())) {
Object obj = method.invoke(o);
if (obj == null)
continue;
else
map.put(fld.getName(), obj);
}
}
}
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
return map;
}
将Object对象的属性(有对应get方法)按照属性名字(key)和对应值(value)放到Map中...
最新推荐文章于 2020-05-06 14:28:19 发布