在 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+ 浏览量

开启您的 职业

完成课程以获得认证

开始
广告