代码很时髦,但答案可以是 Java,没问题。我有一个具有以下属性的 Person 类:
class Persona(){
String nombre
String apellido
}
我有一个返回两个人类型对象的方法,一个带有一些属性,另一个带有其余属性。在我的示例中,就好像我有:
persona1 = "nombre : Juan"
persona2 = "apellido : Gónzalez"
当“合并”它时,我想要的是 person1 添加它没有但 person2 确实有的属性。此示例中的输出将是:
persona1.merge(persona2)
persona1= "nombre : Juan, apellido : Gónzalez"
是否有 java 或 groovy api 方法允许我在不手动编写每个属性的情况下执行此“合并”(迭代所有属性,因此如果添加或删除属性,我不必更改代码)?
如果它不存在,您可以创建一个循环来遍历类的不同属性以逐一检查该属性的值吗?
我知道您可以通过 if-else 条件本身来做到这一点。
其余属性相同。
编辑:这样您就不必为每个属性都这样做,或者当您引入新属性时,我给您留下了这个链接,您可以在其中查看如何遍历类的所有属性:循环类属性
您可以使用 org.apache.commons.beanutils BeanUtils.copyProperties(Object dest, Object orig) 轻松做到这一点;
您还可以排除空属性或不满足特定条件的属性。参考http://www.avajava.com/tutorials/lessons/how-do-i-copy-properties-from-one-bean-to-another.html