如何用beanutils进行深拷贝

avatar
作者
筋斗云
阅读量:8

在Java中使用BeanUtils进行深拷贝,可以使用BeanUtils.copyProperties()方法。该方法可以将一个对象的属性值复制到另一个对象中,实现深拷贝的效果。

下面是一个示例代码,演示如何使用BeanUtils进行深拷贝:

import org.apache.commons.beanutils.BeanUtils;  public class DeepCopyExample {     public static void main(String[] args) throws Exception {         // 创建要拷贝的对象         Person source = new Person("Alice", 25, new Address("123 Street", "City"));          // 创建目标对象         Person dest = new Person();          // 使用BeanUtils进行深拷贝         BeanUtils.copyProperties(dest, source);          // 输出拷贝后的对象         System.out.println(dest);     } }  class Person {     private String name;     private int age;     private Address address;      // 省略getter和setter方法...      @Override     public String toString() {         return "Person{" +                 "name='" + name + '\'' +                 ", age=" + age +                 ", address=" + address +                 '}';     } }  class Address {     private String street;     private String city;      // 省略getter和setter方法...      @Override     public String toString() {         return "Address{" +                 "street='" + street + '\'' +                 ", city='" + city + '\'' +                 '}';     } } 

在上面的示例代码中,我们创建了一个Person类和一个Address类,Person类包含一个Address类型的属性。通过调用BeanUtils.copyProperties()方法,我们将source对象的属性值深拷贝到dest对象中,实现了深拷贝的效果。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!