1700471243
//属性名称
1700471244
1700471245
String fieldName=des.getName();
1700471246
1700471247
//如果有这个属性
1700471248
1700471249
if(propMap.containsKey(fieldName)){
1700471250
1700471251
//写属性的方法
1700471252
1700471253
Method setter=des.getWriteMethod();
1700471254
1700471255
setter.invoke(bean,new Object[]{propMap.get(fieldName)});
1700471256
1700471257
}
1700471258
1700471259
}
1700471260
1700471261
}catch(Exception e){
1700471262
1700471263
//异常处理
1700471264
1700471265
System.out.println(“shit”);
1700471266
1700471267
e.printStackTrace();
1700471268
1700471269
}
1700471270
1700471271
}
1700471272
1700471273
}
1700471274
1700471275
该类大家在项目中会经常用到,可以作为参考使用。类似的功能有很多工具已经提供,比如Spring、Apache工具集commons等,大家也可以直接使用。我们再来看备忘录角色,如代码清单24-18所示。
1700471276
1700471277
代码清单24-18 备忘录角色
1700471278
1700471279
public class Memento{
1700471280
1700471281
//接受HashMap作为状态
1700471282
1700471283
private HashMap<String,Object>stateMap;
1700471284
1700471285
//接受一个对象,建立一个备份
1700471286
1700471287
public Memento(HashMap<String,Object>map){
1700471288
1700471289
this.stateMap=map;
1700471290
1700471291
}
1700471292
[
上一页 ]
[ :1.700471243e+09 ]
[
下一页 ]