您需要的是BeanInfo /
Introspector机制(请参阅Bozho的答案)。但是,直接使用它是很麻烦的,因此您可以使用其中一个提供基于属性的访问的库。最著名的可能是Apache
Commons /
BeanUtils(另一种是Spring的
BeanWrapper抽象)
示例代码:
A someBean = new A();// access properties as MapMap<String, Object> properties = BeanUtils.describe(someBean);properties.set("name","Fred");BeanUtils.populate(someBean, properties);// access individual propertiesString oldname = BeanUtils.getProperty(someBean,"name");BeanUtils.setProperty(someBean,"name","Barny");


