copiar cada campo de un objeto de clase A en cada campo de un objeto de ClassB en la lista

Jacob:

Tengo una lista de objetos de claseA (campos, por ejemplo: ID, nombre, teléfono) y la necesidad de establecer cada uno de los campos en los que otra lista de objetos de ClassB (campos: studentID, StudentName y studentPhone). hay una manera sencilla en Java 8? Básicamente, es mi claseA DTO y ClassB es objeto DAO. Por ejemplo:

List<ClassA> list1 = new ArrayList<>();
list1.add(new ClassA(12,"John","1111111111"))
List<ClassB> list2 = new ArrayList<>();

aquí, quiero fijar cada elemento de claseA al objeto ClassB y añadir en lista2

oleg.cherednik:

Esto es bastante estándar. Se podría utilizar Streamy mapmétodo para modificar una instancia de ClassA.

Asumir que:

public class ClassA {
    private final int id;
    private final String name;
    private final String phone;

    public int getId() {
        return id;
    }

    public String getName() {
        return name;
    }

    public String getPhone() {
        return phone;
    }
}

public class ClassB {
    private int studentId;
    private String studentName;
    private String studentPhone;

    public void setStudentId(int studentId) {
        this.studentId = studentId;
    }

    public void setStudentName(String studentName) {
        this.studentName = studentName;
    }

    public void setStudentPhone(String studentPhone) {
        this.studentPhone = studentPhone;
    }
}

A continuación, el código podría tener este aspecto:

List<ClassA> list1 = Collections.emptyList();
List<ClassB> list2 = list1.stream()
                          .map(a -> {
                              ClassB b = new ClassB();
                              b.setStudentId(a.getId());
                              b.setStudentName(a.getName());
                              b.setStudentPhone(a.getPhone());
                              return b;
                          })
                          .collect(Collectors.toList());

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=178575&siteId=1
Recomendado
Clasificación