赞
踩
对象拷贝的业务场景还是很多的,比如将DTO对象转成VO对象等等,这个时候就需要对象拷贝。
User1
@Date
public class User1 {
private String name;
private Integer age;
}
User2
@Date
public class User2 {
private String name;
private String age;
}
两个类中的age类型不一样
对象拷贝方式:
User1 user1 = new User1();
user1.setName("test")
user1.setAge(20);
// 需要将user1的值拷贝到User2中
User2 user2 = new User2();
BeanUtils.copyProperties(user1,user2); // 执行完该行代码后,user2中属性就会有值了。
注意:BeanUtils 工具类只有当两个类的属性名和属性的类型一致时才会赋值,属性名一样但是类型不一样时,就会赋值为null,【基本数据类型是有默认值的】
// 当属性名一样类型不一样时可以使用。
User2 user2 = JSON.parseObject(JSON.toJSONString(user1),User2.class);
其实办法有很多,只要自己加以思考,总会找到解决的办法。加油加油!!!!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。