温馨提示×

BeanUtils.copyProperties的用法

小亿
79
2024-01-02 15:43:27
栏目: 编程语言

BeanUtils.copyProperties()是Apache Commons BeanUtils库中的一个方法,用于将一个Java对象的属性值复制到另一个Java对象中相应的属性中。

方法签名:

public static void copyProperties(Object dest, Object orig)

参数说明:

  • dest:目标对象,属性值将被复制到该对象中。
  • orig:源对象,属性值将从该对象中复制。

注意事项:

  • 该方法会自动根据属性名和类型将源对象的属性值复制到目标对象中相应的属性中。
  • 如果两个对象的属性名和类型完全匹配,属性值将直接复制;如果属性名不匹配,该方法会尝试进行类型转换,如果转换失败将抛出异常。
  • 对于嵌套的对象属性,该方法会递归地进行属性复制。

示例代码:

public class User {
    private String name;
    private int age;
    // getter和setter方法省略
}

public class UserDTO {
    private String name;
    private int age;
    // getter和setter方法省略
}

public static void main(String[] args) {
    User user = new User();
    user.setName("John Doe");
    user.setAge(30);

    UserDTO userDTO = new UserDTO();
    BeanUtils.copyProperties(userDTO, user);

    System.out.println(userDTO.getName()); // 输出:John Doe
    System.out.println(userDTO.getAge());  // 输出:30
}

上面的例子演示了如何将User对象的属性值复制到UserDTO对象中。通过调用BeanUtils.copyProperties()方法,可以方便地完成属性复制操作。

0