2个不同对象,属性名不一样,不用get/set方法,怎么将一个对象中的属性赋值到另一个对象的属性中
对象内有几十个属性,如何用最少的代码实现
虽然可以不用set方法进行属性赋值,但哪有人会这么写
https://blog.csdn.net/weixin_40565846/article/details/117224636 使用注解和反射
如1:两个对象obj1和obj2,两个不同属性A和B,把obj1中的属性A的值赋值给obj2中的属性B。
obj2.setB(obj1.getA())
如2:BeanUtils.copyProperties(obj1, obj2),这是两对象之间的赋值,把obj1对象赋值给obj2对象,这个只会赋值两对象obj1和obj2中属性名相同的值。
直接传:
objA.属性A = objb.属性B;
前提是 属性A 属性B都是public的,类型相同。
类型不同,那么需要强制转换,或者构造对象,再依次复制内部的属性。
也可以用反射,但是你要知道属性映射的规则
BeanUtils.copyProperties(obj, target);