如何使用反射定义动态setter和getter?
我有一个来自资源包的循环中的字符串、字段名称和类的列表。我创建一个对象,然后使用循环我想为该对象设置值。例如,对于参数
Foo f = new Foo();
为 param1 的对象,我有字符串“param1”,并且我想以某种方式将“set”与它连接起来,如“set”+“param1”,然后将其应用到 f 实例上:
f.setparam1("value");
对于 getter 也是如此。我知道反思会有所帮助,但我无法做到这一点。 请帮忙。谢谢!
I've a list of strings, field names, of a class in a loop from resource bundle. I create an object and then using loop i want to set values for that object. For example, for object
Foo f = new Foo();
with parameter param1, I have string "param1" and I somehow want to concate "set" with it like "set"+"param1" and then apply it on f instance as:
f.setparam1("value");
and same for getter. I know reflection will help but I couldn't manage to do it.
Please help. Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你可以做这样的事情。您可以使此代码更加通用,以便可以将其用于字段上的循环:
You can do something like this. You can make this code more generic so that you can use it for looping on fields:
Apache Commons BeanUtils 可以做到这一点。
Apache Commons BeanUtils does it.