我写了下面的代码
PodamFactory factory = new PodamFactoryImpl();
Honda honda1 = factory.manufacturePojo(Honda.class);
System.out.println(honda1.toString());
Honda honda2 = factory.manufacturePojoWithFullData(Honda.class);
System.out.println(honda2.toString());
这是本田课
public class Honda {
String name;
int version;
public Honda(String name, int version) {
this.name = name;
this.version = version;
}
...
}
我得到
Honda{name='c00iZ2ponC', version=883048266}
Honda{name='c00iZ2ponC', version=883048266}
为什么podam每一代都分配相同的值?
最佳答案
发生这种情况的原因是所谓的备忘录,它会按类型缓存生成的对象。在某些PODAM版本中,默认情况下启用了此功能。
您可以通过以下方式禁用它
PodamFactory factory = new PodamFactoryImpl();
factory.getStrategy().setMemoizationEnabled(false);