toList() 的实现在哪里?



我有一个问题,在这个页面上的最佳答案中对以下代码有疑问:

return people
.filter( p -> p.age() < 19)
.collect(toList());

toList()的实施在哪里?java.util.stream.Collectors.toList()?我不明白为什么toList()会在这里。它是如何工作的?

toList()表示Collectors.toList()java.util.stream.Collectors.toList是静态导入的。

import static java.util.stream.Collectors.toList;

Stream#collect预计会出现Collector

<R, A> R collect(Collector<? super T, A, R> collector);

Collectors.toList()返回一个Collector

public static <T> Collector<T, ?, List<T>> toList() { ... }

它是收集器界面中的一个静态方法 - 请参阅此处: https://docs.oracle.com/javase/8/docs/api/java/util/stream/Collectors.html#toList--

最新更新