回到发起人角色中。
BeanUtil 工具类代码
public class BeanUtils {
//把 bean 的所有属性及数值放入到 Hashmap 中
public static HashMap<String, Object> backupProp(Object bean) {
HashMap<String, Object> result = new
HashMap<String, Object>();
try { //获得 Bean 描述
BeanInfo
beanInfo = Introspector.getBeanInfo(bean.getClass());
//获得属性描述
PropertyDescriptor[]
descriptors = beanInfo.getPropertyDescriptors();
//遍历所有属性
for (PropertyDescriptor des : descriptors) {
//属性名称
String fieldName = des.getName();
//读取属性的方法
Method getter = des.getReadMethod();
//读取属性值
Object fieldValue = getter.invoke(bean, new
Object[]{});
if (!fieldName.equalsIgnoreCase("class")) {
result.put(fieldName, fieldValue);
}
}
} catch (Exception e) {
//异常处理
}
return result;
}
//把 HashMap 的值返回到 bean 中
public static void restoreProp(Object bean, HashMap<String, Object>
propMap) {
try {
//获得 Bean 描述
BeanInfo beanInfo =
Introspector.getBeanInfo(bean.getClass());
//获得属性描述
PropertyDescriptor[] descriptors =
beanInfo.getPropertyDescriptors();
//遍历所有属性
for (PropertyDescriptor des : descriptors) {
//属性名称
String fieldName = des.getName();
//如果有这个属性
if (propMap.containsKey(fieldName)) {
//写属性的方法
Method setter = des.getWriteMethod();
setter.invoke(bean, new
Object[]{propMap.get(fieldName)});
}
}
} catch (Exception e) {
//异常处理
System.out.println("shit");
e.printStackTrace();
}
}
}
笔者福利
以下是小编自己针对马上即将到来的金九银十准备的一套“面试宝典”,不管是技术还是HR的问题都有针对性的回答。
有了这个,面试踩雷?不存在的!
回馈粉丝,诚意满满!!!
的金九银十准备的一套“面试宝典”,不管是技术还是HR的问题都有针对性的回答。
有了这个,面试踩雷?不存在的!
回馈粉丝,诚意满满!!!
[外链图片转存中…(img-mf8Oxb4y-1714391681475)]
[外链图片转存中…(img-hEd2zCOy-1714391681475)]
[外链图片转存中…(img-3Q35AAwz-1714391681476)]
[外链图片转存中…(img-oG7eUlzO-1714391681476)]