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