1

我需要使用另一个对象的字段在一个对象中设置一些私有字段。这两个对象可能不是同一类的实例。
我从简短的阅读中看到,我可以为此使用 Apache 的 BeanUtils 和 Spring 的 ReflectionUtils。关于安全性、性能、支持等,我找不到令人满意的解释。
该解决方案也将用于生产环境,因此我需要一个具体的解决方案。对于这样的任务,您建议采用哪种方法。

4

1 回答 1

0

我认为您只需要使用 BeanUtils 库。查看我的示例,我将属性从 CustomerBean 复制到 SellerBean。

package testes.beanutils;

import org.apache.commons.beanutils.BeanUtils;

public class Main {

public static void main(String[] args) throws Exception {
    Customer customer = new Customer();
    customer.setId((long)1);
    customer.setName("Bruno");
    customer.setLastname("Tafarelo");

    Seller seller = new Seller();

    BeanUtils.copyProperties(seller, customer);

    System.out.println(customer);
    System.out.println(seller);
    }
}

class Customer {

private Long id;

private String name;

private String lastname;

//getters and setters

//toString
}

class Seller {

private Long id;

private String name;

private int sales;

//getters and setters

//toString
}
于 2014-02-01T00:38:27.523 回答