java 属性复制_对象属性复制几种方式

以下几个方法的效率由高到低

1.Apache提供的BeanUtil.copyProperties和PropertyUtil.copyProperties两种方式

BeanUtils.copyProperties("转换后的类", "要转换的类"); //多一步类型转换,比PropertyUtils效率还差

PropertyUtils.copyProperties("转换后的类", "要转换的类");

口诀:后付钱(后付前:后面的复制给前面)会抛异常

mport org.apache.commons.beanutils.BeanUtils;

import java.lang.reflect.InvocationTargetException;

/**

* Created by hunt on 2017/6/28.

*/

public class TestDemo {

public static void main(String[] args) {

TestFrom testFrom = new TestFrom();

testFrom.setName("hunt");

TestTo testTo = new TestTo();

BeanUtils.copyProperties(testTo,testFrom);

}

}

2.spring提供的BeanUtil.copyProperties方式

import org.springframework.beans.BeanUtils;

public class TestDemo {

public static void main(String[] args) {

TestFrom testFrom = new TestFrom();

testFrom.setName("hunt");

TestTo testTo = new TestTo();

BeanUtils.copyProperties(testFrom,testTo);//没抛异常

}

}

3.cglib提供的copy方式

import net.sf.cglib.beans.BeanCopier;

public class TestDemo {

public static void main(String[] args) {

TestFrom testFrom = new TestFrom();

testFrom.setName("hunt");

TestTo testTo = new TestTo();

BeanCopier copier = BeanCopier.create(TestFrom.class,TestTo.class,false);

copier.copy(testFrom,testTo,null);

}

}

4.spring提供的copy方式

import org.springframework.cglib.beans.BeanCopier;

public class TestDemo {

public static void main(String[] args) {

TestFrom testFrom = new TestFrom();

testFrom.setName("hunt");

TestTo testTo = new TestTo();

BeanCopier copier = BeanCopier.create(TestFrom.class,TestTo.class,false);

copier.copy(testFrom,testTo,null);

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值