Java使用BeanUtils或类似工具从一个对象复制非空属性到另一个对象。

bluesky1年前 ⋅ 127 阅读

ChatGPT的回答仅作参考:

Java中可以使用BeanUtils或类似工具从一个对象复制非空属性到另一个对象。以下是使用BeanUtils实现的示例代码:

```java
import org.apache.commons.beanutils.BeanUtils;

public class CopyPropertiesExample {
    public static void main(String[] args) throws Exception {
        // 创建源对象
        SourceObject source = new SourceObject();
        source.setName("John");
        source.setAge(30);
        source.setAddress(null);

        // 创建目标对象
        TargetObject target = new TargetObject();
        target.setName("Tom");
        target.setAge(20);
        target.setAddress("Shanghai");

        // 复制非空属性
        BeanUtils.copyProperties(target, source);

        // 输出目标对象
        System.out.println(target.getName()); // John
        System.out.println(target.getAge()); // 30
        System.out.println(target.getAddress()); // Shanghai
    }
}

class SourceObject {
    private String name;
    private int age;
    private String address;

    // 省略getter和setter方法
}

class TargetObject {
    private String name;
    private int age;
    private String address;

    // 省略getter和setter方法
}
```

在上面的示例代码中,我们创建了一个源对象和一个目标对象,然后使用BeanUtils.copyProperties()方法将源对象的非空属性复制到目标对象中。在这个例子中,源对象的address属性为null,因此目标对象的address属性保持不变。

全部评论: 0

    相关推荐