Java 8 中 map 方法的语法如下:
<R> Stream<R> map(Function<? super T,? extends R> mapper)
但我可以使用Lambda表达式:
personList.stream().filter(p -> p.getPersonType().equals("student"))
.map(p -> new Student(p.getId(), p.getName()))
.collect(Collectors.toList());
map方法中的参数是如何等同于函数数据类型的?请帮我理解这个问题。
谢谢。
Function<Person,Person> function = p -> new Student(p.getId(), p.getName())
- Hadi J