来源:京东云开发者
public class BeanUtilsTest {public static void main(String[] args) {SourcePoJo sourcePoJo = new SourcePoJo("jingdong", (long) 35711);TargetPoJo targetPoJo = new TargetPoJo();BeanUtils.copyProperties(sourcePoJo,targetPoJo);System.out.println(targetPoJo);}}@Data@AllArgsConstructorclass SourcePoJo{private String username;private Long id;}@Dataclass TargetPoJo{private String username;private String id;}

public class BeanUtilsTest {public static void main(String[] args) {SourcePoJo sourcePoJo = new SourcePoJo();sourcePoJo.setUsername("joy");TargetPoJo targetPoJo = new TargetPoJo();BeanUtils.copyProperties(sourcePoJo,targetPoJo);System.out.println(targetPoJo);}}@Dataclass SourcePoJo{private String username;private Long id;}@Dataclass TargetPoJo{private String username;private long id;}

public class BeanUtilsTest {public static void main(String[] args) {SourcePoJo sourcePoJo = new SourcePoJo();sourcePoJo.setId("35711");TargetPoJo targetPoJo = new TargetPoJo();targetPoJo.setUsername("Joy");BeanUtils.copyProperties(sourcePoJo,targetPoJo);System.out.println(targetPoJo);}}@Dataclass SourcePoJo{private String username;private String id;}@Dataclass TargetPoJo{private String username;private String id;}

//org.springframework.beans.BeanUtils(源对象在左边,目标对象在右边)public static void copyProperties(Object source, Object target) throws BeansException //org.apache.commons.beanutils.BeanUtils(源对象在右边,目标对象在左边)public static void copyProperties(Object dest, Object orig) throws IllegalAccessException, InvocationTargetException
public class BeanUtilsTest {public static void main(String[] args) {SourcePoJo sourcePoJo = new SourcePoJo();sourcePoJo.setUsername("joy");SourcePoJo.InnerClass innerClass = new SourcePoJo.InnerClass("sourceInner");sourcePoJo.innerClass=innerClass;System.out.println(sourcePoJo.toString());TargetPoJo targetPoJo = new TargetPoJo();BeanUtils.copyProperties(sourcePoJo,targetPoJo);System.out.println(targetPoJo.toString());}}//下面是类的信息,这里就直接放到一块展示了@Data@ToStringpublic class SourcePoJo{private String username;private Long id;public InnerClass innerClass;@Data@ToString@AllArgsConstructorpublic static class InnerClass{public String innerName;}}@Data@ToStringpublic class TargetPoJo{private String username;private Long id;public InnerClass innerClass;@Data@ToStringpublic static class InnerClass{public String innerName;}}

public class BeanUtilsTest {public static void main(String[] args) {Person sourcePerson = new Person("sunyangwei",new Card("123456"));Person targetPerson = new Person();BeanUtils.copyProperties(sourcePerson, targetPerson);sourcePerson.getCard().setNum("35711");System.out.println(targetPerson);}}class Card {private String num;}class Person {private String name;private Card card;}

public class BeanUtilsTest {public static void main(String[] args) {long copyStartTime = System.currentTimeMillis();User sourceUser = new User("sunyangwei");User targetUser = new User();for(int i = 0; i < 10000; i++) {BeanUtils.copyProperties(sourceUser, targetUser);}System.out.println("copy方式:"+(System.currentTimeMillis()-copyStartTime));long setStartTime = System.currentTimeMillis();for(int i = 0; i < 10000; i++) {targetUser.setUserName(sourceUser.getUserName());}System.out.println("set方式:"+(System.currentTimeMillis()-setStartTime));}}class User{private String userName;}

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70024420/viewspace-3001861/ ,如需转载,请注明出处,否则将追究法律责任。