有时候我们需要将一个对象的属性值先get出来,然后再set给另外一个对象,这样会可以实现两个对象之间复制属性值,但是代码会很长,下面介绍的是通过一个方法实现两个对象之间属性值的复制。
一、改写之前的代码
@Test
public void testBeforeFun(){
Person person = new Person();
person.setAge(12);
person.setName("张三");
person.setHight(160.00);
person.setWeight(53.00);
Person personItem = new Person();
//将person对象的所有属性赋值给personItem对象
personItem.setName(person.getName());
personItem.setAge(person.getAge());
personItem.setHight(person.getHight());
personItem.setWeight(person.getWeight());
System.out.println("我是谁?"+personItem);
}
这样写可以实现2个对象之间属性值的复制,但是如果对象的属性很多的话,代码就会非常长了,接下来通过一句代码实现上面的功能:
BeanUtils.copyProperties(person,personItem);
这个方法是将person对象所有属性的值,赋值给personItem对象对应的属性
二、改写之后的代码
public class JavaTest {
@Test
//BeanUtils.copyProperties(person,personItem);用法测试
public void testFun(){
Person person = new Person();
person.setAge(12);
person.setName("张三");
person.setHight(160.00);
person.setWeight(53.00);
Person personItem = new Person();
//将person对象的所有属性赋值给personItem对象
BeanUtils.copyProperties(person,personItem);
personItem.setName("李四");
System.out.println("我是谁?"+personItem);
}
}