0

我想用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;
    }
}

现在上面的代码抛出异常,因为它找不到带有Stringas 属性的方法。当我将代码修改为:

int value = resultSet.getInt(id);

我怎样才能动态地做到这一点?Image 我想通过使用这种setter方法分配许多字段并且我不知道对象中的字段是什么类型,我只想调用适当的setter方法,该方法在对象中声明。我的想法是通过检查对象中字段的类型,在 resultSet 上调用适当的 get... 方法。但我不知道该怎么做。

有任何想法吗?

4

0 回答 0