java将POJO内容从一个bean复制到另一个bean
我在不同的包中有几个POJO,每个POJO包含来自同一个包的另一个POJO的集合。我需要将包B POJO中所有同名项目复制到包A中的对象
EAX示例:
package com.vanilla.packageA;
public class Student{
private String firstName;
private String lastName;
private Set<Course> course;
//getters and setters ommited
}
package com.vanilla.packageA;
public class Course{
private String courseName;
private String courseDescription;
//seters and getters
}
package com.vanilla.packageB;
public class Student{
private String firstName;
private String lastName;
private Address address;
private Set<Course> course;
Private Date birtday;
//getters and setters ommited
}
package com.vanilla.packageB;
public class Course{
private String courseName;
private String courseDescription;
private <Lecturer> lecturer;
private Integer hours;
//seters and getters
}
我想递归地将PackageB
类中的所有项复制到packageA
类中,这些类存在于PaCkageB
中,并且共享相同的名称
更新:
伙计们,我明白这是个愚蠢的问题,但我需要维护这段代码,现在代码的编写方式是,他们必须调用50个getter和setter,或者使用50个参数调用构造函数。 不幸的是,我不能使用同一个对象,我需要复制它,但我必须找到更“优雅”的方式来复制tese beans
# 1 楼答案
如果您已经有了spring依赖项,那么可以使用
org.springframework.beans.BeanUtils
# 2 楼答案
为什么Apache BeanUtils.copyProperties不工作
# 3 楼答案
几乎每个项目都需要复制字段值,例如do the clone()。我还认为,实现一些目标是不必要的。只使用一个函数的JAR。我想和大家分享一些我工作的小代码,我在墨水池里留下了一些东西,但总的来说,它可以完成工作。在这种情况下,我使用反射
希望这有帮助