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);
}
}
以下几个方法的效率由高到低 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); } }