У меня вопрос к следующему коду в лучший ответ на этой странице :
return people .filter( p -> p.age() < 19) .collect(toList());
Где находится реализация toList()? java.util.stream.Collectors.toList()? Я не понимаю, почему toList() может быть здесь. Как это работает?
toList()
java.util.stream.Collectors.toList()
toList() означает, что Collectors.toList() с java.util.stream.Collectors.toList импортируется статически.
Collectors.toList()
java.util.stream.Collectors.toList
import static java.util.stream.Collectors.toList;
Stream#collect ожидает Collector
Stream#collect
Collector
<R, A> R collect(Collector<? super T, A, R> collector);
и Collectors.toList() возвращает a Collector
public static <T> Collector<T, ?, List<T>> toList() { ... }
Это статический метод в интерфейсе Collectors - см. Здесь: https://docs.oracle.com/javase/8/docs/api/java/util/stream/Collectors.html#toList--