На данный вопрос уже ответили:
Что значит оператор ::?
1 ответ
Часто вижу :: при определении нового экземпляра, в стримах, иногда в лямда выражениях. Что он значит? Что значит List :: stream?
P.S. И как он называется?
Ответ
Оператор "ссылка на метод" (Method Reference). По сути - сокращенная запись для ссылки на метод из функционального интерфейса при использовании лямбды.
List::stream
является ссылкой на метод stream() из интерфейса List
List> list = Arrays.asList(
Arrays.asList(1,2,3),
Arrays.asList(4,5,6)
);
list.steam()
.flatMap(List::stream)
.forEach(System.out::println);
приведенный отрывок кода означает: 1. Мы инициализируем поток, в котором будет список чисел (Stream>) 2. с помощью flatMap мы объединяем список чисел в поток чисел (Stream
Если владеете английским, хорошее объяснение с примерами приведено в этом ответе
Комментариев нет:
Отправить комментарий