BeanUtils.copyProperties()
时间: 2023-06-22 13:37:30 浏览: 150
beanUtils , CopyProperty
BeanUtils.copyProperties() 是 Apache Commons BeanUtils 库中提供的一个方法,用于将一个 Java Bean 对象的属性值拷贝到另一个 Java Bean 对象中。其方法签名如下:
```java
public static void copyProperties(Object dest, Object orig)
throws IllegalAccessException, InvocationTargetException;
```
其中,`dest` 表示目标对象,`orig` 表示源对象。该方法会将源对象中的属性值拷贝到目标对象中对应的属性中,如果源对象与目标对象中属性名称和类型不一致,也会进行自动类型转换。该方法的实现使用了 Java 反射技术。
使用该方法,需要保证源对象和目标对象中具有相同的属性名和类型,并且目标对象中的属性需要有相应的 setter 方法。例如:
```java
public class User {
private String name;
private int age;
// getter 和 setter 方法省略
}
public class UserInfo {
private String name;
private int age;
// getter 和 setter 方法省略
}
User user = new User();
user.setName("Tom");
user.setAge(20);
UserInfo userInfo = new UserInfo();
BeanUtils.copyProperties(userInfo, user);
System.out.println(userInfo.getName()); // Tom
System.out.println(userInfo.getAge()); // 20
```
上述代码中,我们将一个 User 对象的属性值拷贝到了 UserInfo 对象中。由于两个对象中具有相同的属性名和类型,因此属性值可以直接拷贝过来。
阅读全文