beansutil复制对象

1.所需要的jar包:beanutil.jar和logging.jar,下载地址

2.复制到的CopyEntity

public class CopyEntity {
    private String name;
    private String remark;
    //setter、getter省略   
}

3.复制的Entity

public class Entity {
    private int num;
    private String name;
    private String remark;

    public Entity() {
    }
    public Entity(int num, String name, String remark) {
        super();
        this.num = num;
        this.name = name;
        this.remark = remark;
    }
    //setter、getter省略   
}

编写测试:

public class Test {

    public static void main(String[] args) throws Throwable, Exception { 

            DynaBean bean=new LazyDynaBean();
            bean.set("test", 322);
            System.err.println(bean.get("test"));

        //这里使用LazyDynaMap,它是LazyBean的一个轻量级实现   

              LazyDynaMap dynaBean1 = new LazyDynaMap();    
              dynaBean1.set("foo", "bar");                  // simple   
              dynaBean1.set("customer", "title", "Mr");        // mapped   
              dynaBean1.set("address", 0, "address1");         // indexed   
              System.out.println(dynaBean1.get("address",0));   

              Map myMap = dynaBean1.getMap();           // retrieve the Map   
              System.out.println(myMap.toString()); 

        /** 复制bean,拷贝一下相同的属性名字以及对应的setter、getter方法,前面数据为复制目的地,后面为复制源 */
              Entity entity=new Entity(999, "apple", "iphone");
              CopyEntity copyEntity=new CopyEntity();
              BeanUtils.copyProperties(copyEntity, entity);
              System.out.println(copyEntity.toString());

    }
}

LazyDynaBean

它实现一个动态的Bean,可以直接往里面加入属性,作为一个JavaBean一样使用,也可以用上面的BeanUtils或get/set方法进行操作,而不用事先定义一个标准的JavaBean类。

而复制的属性名称一样的就会复制过去。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值