阅读量:0
在Java中,如果你需要复制一个包含复杂类型的Bean对象,可以使用BeanUtils类提供的方法来进行复制。BeanUtils类提供了一个copyProperties方法,可以复制源对象的属性到目标对象中,包括复杂类型的属性。
下面是一个简单的示例代码,演示如何使用BeanUtils类来处理复杂类型的Bean复制:
import org.apache.commons.beanutils.BeanUtils; public class Main { public static void main(String[] args) throws Exception { // 创建源对象 SourceBean sourceBean = new SourceBean(); sourceBean.setName("Alice"); Address address = new Address(); address.setCity("New York"); sourceBean.setAddress(address); // 创建目标对象 TargetBean targetBean = new TargetBean(); // 复制属性 BeanUtils.copyProperties(targetBean, sourceBean); // 输出目标对象 System.out.println(targetBean); } } class SourceBean { private String name; private Address address; // getter和setter方法省略 } class Address { private String city; // getter和setter方法省略 } class TargetBean { private String name; private Address address; // getter和setter方法省略 @Override public String toString() { return "TargetBean{" + "name='" + name + '\'' + ", address=" + address + '}'; } }
在上面的示例中,我们创建了一个包含复杂类型属性的SourceBean对象,并使用BeanUtils.copyProperties方法将其属性复制到TargetBean对象中。最终,我们输出目标对象的属性值,可以看到复杂类型的属性也被正确复制了。