ラムダ式内の別のオブジェクトからオブジェクトを設定する方法

アナンド・クマール:

私は、DBから経営者のリストを取得していますし、今私は別のオブジェクトすなわち従業員に、このリストの各オブジェクトを移入し、その呼び出し元の関数にリスト(にEmployeeList)としてそれを返すことがあります。マネージャーと従業員の両方が同じフィールドが含まれています。私は、ストリームを使用して、この使用してラムダ式を達成する必要があります。

Employee.java

public class Employee {
private String name;
private String designation;
private String active;

public String getActive() {
    return active;
}
public void setActive(String active) {
    this.active = active;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public String getDesignation() {
    return designation;
}
public void setDesignation(String designation) {
    this.designation = designation;
}}

Manager.java

public class Manager {
private String name;
private String designation;
private String active;
public String getActive() {
    return active;
}
public void setActive(String active) {
    this.active = active;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public String getDesignation() {
    return designation;
}
public void setDesignation(String designation) {
    this.designation = designation;
}}

ComponentImpl.java

public class ComponentImpl {

public List<Employee> catchAllEmployess () {

    List<Manager> managers = DbOperation.collectManagers(2);
    List<Employee> employees = new ArrayList<>();

    for (Manager manager : managers) {
        Employee employee = new Employee();
        employee.setName(manager.getName());
        employee.setDesignation(manager.getDesignation());
        employee.setActive(manager.getActive());
        employees.add(employee);
    }
    return employees;
}

}

また:

あなたは、Employeeクラスでコンストラクタとしてを含めて式を簡素化することができます

Employee(String name, String designation, String active) {
        this.name = name;
        this.designation = designation;
        this.active = active;
    }

これは、その後に使用することができます

List<Employee> employees = managers.stream()
                .map(manager -> new Employee(manager.getName(), manager.getDesignation(), manager.getActive()))
                .collect(Collectors.toList());

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=188885&siteId=1