//*
获取一个类及其父类的所有属性
*
* @param clazz
* @return
*/
publicstaticlistfindallfieldsofselfandsuperclass {
Field[] fields=null;
list field list=lists.new ArrayList (;
while (真) {
if(clazz==null ) {
布雷克;
} else {
fields=clazz.getDeclaredFields (;
for(intI=0; i fields.length; I ) {
Fieldlist.add(Fields[I];
}
clazz=clazz.getSuperclass (;
}
}
返回字段列表;
}
//*
*将对象转到地图
* @param obj挂起的对象
* @return
*/
publicstaticmapgetvaluemap{
Map map=new HashMap (;
//system.out.println (obj.getclass ();
获取//f对象感知类中的所有属性字段
列表列表=findallfieldsofselfandsuperclass (obj.getclass ();
现场现场:列表(for ) {
String varName=field.getName (;
try {
//获取原始访问控制权限
booleanaccessflag=field.is accessible (;
//更改访问控制权限
field.set accessible (真;
//获取与对象f的属性fields[i]对应的对象的变量
objecto=field.get(obj );
if(o!=null )
map.put(varname,o );
//System.out.println (传递的对象包含以下变量: ' varName '=' o );
//恢复访问控制权限
field.set accessible (access标志);
} catch (illegalargumentexceptionex ) {
ex.printStackTrace (;
} catch (illegalaccessexceptionex ) ) ) ) )。
ex.printStackTrace (;
}
}
返回图;
}