DataBinderを使用してループ内にいくつかのオブジェクトを作成しています。毎回作成するのではなく、DataBinderオブジェクトを再利用できるのではないかと思います。
出来ますか?
今私が持っています:
while (condition) {
obj = new MyObj();
DataBinder db = new DataBinder(obj,"my obj");
db.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat(dateFormatParam), false));
// set up binder with some editors etc.
objectvalues = getValues();
MutablePropertyValues mpv = new MutablePropertyValues();
for (int i=0;i<fieldNames.length;i++){
mpv.add(StringUtils.trim(fieldNames[i]), objectvalues[i]);
}
db.bind(mpv);
// do something with obj...
}
欲しいです(これは想像力だけです...):
obj = new MyObj();
DataBinder db = new DataBinder(obj,"my obj");
db.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat(dateFormatParam), false));
// set up binder with some editors etc.
MutablePropertyValues mpv = new MutablePropertyValues();
for (int i=0;i<fieldNames.length;i++){
mpv.add(StringUtils.trim(fieldNames[i]), "empty value");
}
while (condition) {
objectvalues = getValues();
for (int i=0;i<fieldNames.length;i++){
mpv.setPropertyValueAt(objectvalues[i], i);
}
db.bind(mpv);
objCopy = obj.clone();
// do something with objCopy...
}
記憶と時間を無駄にしないために、そのようにするための安全な方法はありますか?