Java快速合并两个相同对象
时间: 2023-09-04 15:10:11 浏览: 167
在Java中,你可以使用BeanUtils类(属于Apache Commons BeanUtils库)的copyProperties方法来快速合并两个相同的对象。该方法会自动将源对象的属性复制到目标对象中,如果属性值不为null,则会覆盖目标对象的属性值。
以下是一个示例代码:
```java
import org.apache.commons.beanutils.BeanUtils;
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// Getter和Setter方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
// 合并两个Person对象
Person p1 = new Person("Tom", 20);
Person p2 = new Person("Jerry", 22);
try {
BeanUtils.copyProperties(p1, p2);
} catch (IllegalAccessException | InvocationTargetException e) {
e.printStackTrace();
}
```
在上面的示例代码中,我们创建了一个名为Person的类,它包含了两个属性:name和age。然后,我们创建了两个Person对象p1和p2,它们的属性值不同。接着,我们使用BeanUtils.copyProperties方法将p2的属性复制到p1中,从而将它们进行了合并。
请注意,使用BeanUtils类进行属性复制时,源和目标对象必须是同一类型或可以转换为同一类型。如果属性名在源对象中不存在,它将被忽略。此外,如果源对象的属性值为null,则不会覆盖目标对象的属性值。
阅读全文