Java - 映射包含对象列表的两个对象(具有不同命名但功能相同的对象)

标签 java dozer

我有两门课:

public class1{
    private int id;
    private List<Student> students;
}

public Student{
    private name;
    private address;
}

public Class2{
    private int id;
    private List<Person> person;
}

public Person{
    private personName;
    private location;
}

我必须将值从 class1 映射/复制到 class2。我尝试使用 dozer bean 映射器 API,但无法将学生列表与人员列表映射,因为它们具有不同的字段名称但具有相同的功能。请帮助我进行推土机测绘,或者如果有其他解决方案,非常感谢。

谢谢!

最佳答案

尝试这样的事情:

public static List<Person> mapValues() {

    List<Student> students = class1.getStudents(); // Assuming you have getters of students field
    List<Person> persons = class2.getPersons(); // Assuming you have getters of persons field
    for(Student student: students) {
        Person person = new Person();
        person.setPersonName(student.getName);
        person.setLocation(student.getAddress);
        persons.add(person);
    }
    return persons;
}

关于Java - 映射包含对象列表的两个对象(具有不同命名但功能相同的对象),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43037331/

相关文章:

java - 如何计算 Http Post 请求的请求正文的 Content-Length

java - MOXy 和 RI 以不同方式处理未引用的静态内部类

java - Dozer 在 getClassMap 上抛出 NullPointerException

java - NoSuchMethodException : java. time.LocalDateTime.<init>() 使用 Super CSV 读取 CSV

java - 推土机+ Spring : MappingException: Dozer Bean Mapper is already initialized

java - Dozer 映射/更新集合

java - 如何在单击事件时一次仅验证一个文本框

java - Eclipse 插件中指定的 ID

java - 使用 CDI 在运行时创建和连接相关实例

java - 推土机映射不适用于嵌套对象