簡體   English   中英

將一個對象拆分為對象列表 - 需要 JAVA8 解決方案

[英]Split one object into List of objects - JAVA8 Solution required

我有以下代碼,其中我有一個具有多個角色的員工對象。 我想將這個單個員工對象拆分為多個員工對象,每個對象只有一個角色。

public class Employee {
   private String empId;
   private String empName;
   private List<String> empRoles;
 }

現在我有一個返回類型為 List 的方法

public List<Employee> splitEmployeObj(Employee emp) {
   // code logic goes here 
 }
   // sample input : { empId:'123',empName:'john',empRoles:['Developer','Tester'] }
   // sample output : [ { empId:'123', empName:'john',empRoles : ['Developer'] },
                        { empId:'123', empName:'john',empRoles : ['Tester']]

有人可以幫助提供有效的 java8 解決方案嗎?

流式傳輸角色並映射到新員工:

public List<Employee> splitEmployeObj(Employee emp) {
    return emp.getEmpRoles()
            .stream()
            .map(role -> new Employee(emp.getEmpId(), emp.getEmpName(), Collections.singletonList(role)))
            .collect(Collectors.toList());
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM