在 Java 中使用 Lambda 的 map() 方法将对象转换为另一种类型?

java 8object oriented programmingprogramming

Java 8 中,我们可以使用带有 lambda 表达式的 Stream  对象的 ma​​p()  方法将对象转换为另一种类型。ma​​p()  方法是流对象中的中间操作,因此我们需要一个终端方法来完成流。

语法

<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]

相关文章