java 两个实体类复制
时间: 2024-01-18 16:13:29 浏览: 26
在Java中,如果想要将一个实体类的值复制到另一个实体类中,可以使用以下两种方法:
1. 手动复制每个属性
这种方法比较繁琐,需要逐个复制每个属性,但是可以确保复制的精确性。
示例代码:
```
public class User {
private int id;
private String name;
private String email;
// getter和setter方法省略
public User copy() {
User newUser = new User();
newUser.setId(this.getId());
newUser.setName(this.getName());
newUser.setEmail(this.getEmail());
return newUser;
}
}
```
2. 使用BeanUtils.copyProperties()方法
这种方法使用Apache Commons BeanUtils库提供的copyProperties()方法,可以自动复制两个实体类中相同属性名的属性。但是需要注意的是,两个实体类中的属性类型要保持一致才能复制成功。
示例代码:
```
import org.apache.commons.beanutils.BeanUtils;
public class User {
private int id;
private String name;
private String email;
// getter和setter方法省略
public User copy() {
User newUser = new User();
try {
BeanUtils.copyProperties(newUser, this);
} catch (Exception e) {
e.printStackTrace();
}
return newUser;
}
}
```