我的类有多个带有 getter 和 setter 的字段
在尝试访问 bean 属性的值时,我必须检查属性名称并检索值..
if(property is this )
mybean.getThisProperty()
else if(property is that )
mybean.getThatProperty()
else...
我如何在不实际检查属性(property)名称的情况下退休..
Spring中的BeanUtils.copyProperties
将属性从一个bean复制到另一个bean
最佳答案
我不确定你想要完成什么,但你可以使用反射做类似的事情:
for (Field field : object.getClass().getDeclaredFields()) {
field.setAccessible(true);
String name = field.getName();
Object value;
try {
if (name.equals(desiredPropertyName)) {
value = field.get(object); // Do whatever you want with the
// value
}
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
在上面的代码中,我们在不使用 getter 的情况下获取“对象”中除私有(private)字段之外的所有属性。 这一行让我们可以访问私有(private)字段:
field.setAccessible(true);
此行检索名称:
String name = field.getName();
此行检索值:
value = field.get(object);
如果你真的想使用 getter,那就是另一个主题了,你必须使用反射来调用方法。
关于java - 从对象中检索 bean 属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22042249/