BeanUtils.copyPropertiesの使い方
BeanUtils.copyProperties()は、Apache Commons BeanUtilsライブラリの1つのメソッドであり、1つのJavaオブジェクトのプロパティ値を他のJavaオブジェクトの対応するプロパティにコピーするために使用されます。
メソッドの署名:
public static void copyProperties(Object dest, Object orig)
パラメータの説明:
- dest: データの転送先で、属性値がそのオブジェクトにコピーされます。
- 属性値は、元のオブジェクトからコピーされます。
ご注意事項:
- この方法は、元のオブジェクトの属性値を属性名と型に基づいて、自動的に対応する属性にコピーします。
- もし2つのオブジェクトの属性名とタイプが完全に一致する場合、属性値は直接コピーされます。属性名が一致しない場合、このメソッドは型変換を試みますが、変換に失敗すると例外がスローされます。
- ネストされたオブジェクトのプロパティに対して、このメソッドは再帰的にプロパティをコピーします。
サンプルコード:
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
}
BeanUtils.copyProperties()メソッドを使用すると、Userオブジェクトの属性値をUserDTOオブジェクトにコピーする方法が示されています。このメソッドを呼び出すことで、属性のコピー操作を簡単に行うことができます。