在 Java 中使用 Lambda 中的 map() 方法將物件轉換為其他型別?


Java 8 中,我們能夠使用具有 lambda 表示式的 Stream 物件的 map() 方法將物件轉換為另一種型別。map() 方法是流物件中的一箇中間操作,因此我們需要一個終端方法來完成該流。

語法

<R>Stream <R> map(Function<? super T,? extends R> mapper)

示例

import java.util.*;
import java.util.stream.*;

public class EmployeeInformationTest {
   public static void main(String args[]) {
      List<Employee> employees = Arrays.asList(
         new Employee("Jai"),
         new Employee("Adithya"),
         new Employee("Raja"));
      List<String> names = employees.stream()
         .map(s -> s.getEmployeeName())              // Lambda Expression
         .collect(Collectors.toList());
      System.out.println(names);
   }
}

// Employee class
class Employee {
   private String empName;
   private String empDesignation;
   public Employee(String empName) {
      this.empName = empName;
   }
   public String getEmployeeName() {
      return empName;
   }
   public void setEmployeeName(String empName) {
      this.empName = empName;
   }
   public String getEmployeeDesignation() {
      return empDesignation;
   }
   public void setEmployeeDesignation(String empDesignation) {
      this.empDesignation = empDesignation;
   }
}

輸出

[Jai, Adithya, Raja]

更新於: 11-7-2020

8K+ 瀏覽量

開啟您的 職業

完成課程以獲得認證

開始
廣告
© . All rights reserved.