BeanUtils.copyProperties(destination, source);
时间: 2023-11-21 18:57:08 浏览: 63
BeanMapper:比BeanUtils.copyProperties更快
`BeanUtils.copyProperties(destination, source)`是一个Java方法,它可以将源对象的属性值复制到目标对象中。这个方法使用Java反射机制来实现属性值的复制,因此源对象和目标对象的属性名称和类型必须匹配。如果属性名称不匹配,可以使用`@PropertyName`注解来指定源对象和目标对象的属性名称。如果属性类型不匹配,可以使用`ConvertUtils`类来进行类型转换。
以下是一个示例代码,演示了如何使用`BeanUtils.copyProperties()`方法将源对象的属性值复制到目标对象中:
```java
import org.apache.commons.beanutils.BeanUtils;
public class CopyPropertiesExample {
public static void main(String[] args) {
// 创建源对象
SourceObject source = new SourceObject();
source.setName("John");
source.setAge(30);
// 创建目标对象
TargetObject target = new TargetObject();
// 复制属性
try {
BeanUtils.copyProperties(target, source); } catch (Exception e) {
e.printStackTrace();
}
// 输出目标对象的属性值
System.out.println(target.getName()); // 输出:John
System.out.println(target.getAge()); // 输出:30
}
}
class SourceObject {
private String name;
private int age;
// 省略 getter 和 setter 方法
}
class TargetObject {
private String name;
private int age;
// 省略 getter 和 setter 方法
}
```
阅读全文