两个对象之间属性值快速赋值的方法

有时候我们需要将一个对象的属性值先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);
    }
}

你可能感兴趣的:(Java)