我想用String
我从resultSet
.
String value = resultSet.getString(id);
try {
Method setter = new PropertyDescriptor("field", obj.getClass()).getWriteMethod();
setMethod.invoke(obj, value);
}
...
当我的对象看起来像这样时,这非常有效:
class Object {
private String field;
public void setField(String f) {
this.field = f;
}
}
现在我希望这个字段值是一个整数:
class Object {
private int field;
public void setField(int f) {
this.field = f;
}
}
现在上面的代码抛出异常,因为它找不到带有String
as 属性的方法。当我将代码修改为:
int value = resultSet.getInt(id);
我怎样才能动态地做到这一点?Image 我想通过使用这种setter方法分配许多字段并且我不知道对象中的字段是什么类型,我只想调用适当的setter方法,该方法在对象中声明。我的想法是通过检查对象中字段的类型,在 resultSet 上调用适当的 get... 方法。但我不知道该怎么做。
有任何想法吗?